Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery事件冒泡_Javascript_Jquery_Event Bubbling - Fatal编程技术网

Javascript jquery事件冒泡

Javascript jquery事件冒泡,javascript,jquery,event-bubbling,Javascript,Jquery,Event Bubbling,有人能给我解释一下原因吗 var divdbl = $("div:first"); var i = 0; divdbl.change(function(){ alert('change'); }).click(); divdbl.click(function(){ i++; alert('click '+i); }).change(); 即使我这样做,他们的行为也像是在呼唤自己 divdbl.click(function(){ i++; al

有人能给我解释一下原因吗

var divdbl = $("div:first");
var i = 0;

divdbl.change(function(){
    alert('change');    
}).click();

divdbl.click(function(){
    i++;
    alert('click '+i);
}).change();
即使我这样做,他们的行为也像是在呼唤自己

divdbl.click(function(){
    i++;
    alert('click '+i);
}).change();

divdbl.change(function(){
    alert('change');    
}).click();
就好像他们在称呼自己而不是对方

编辑

我刚刚意识到我想要完成的是强迫它们在加载时运行一次
上面的代码有意义吗?

首先,有一个问题,因为您在定义触发更改处理程序之前调用它。你想完成什么?调用.change和.click可运行这些事件的函数

编辑:


根据您最近对问题的更新:是的,这将按预期工作。加载时将同时调用.click和.change。

1。你指的是第一个还是第二个?2.我正在试验,想知道是否可以通过附加另一个事件来调用另一个事件,即。事件冒泡1。在第一个对话框中,您正在呼叫。请在它存在之前单击。在第二种情况下,您正在调用。在它存在之前进行更改。2.啊。你在分析代码的哪一部分。那么,这是否意味着,如果我发出一个事件,但没有它的处理程序,它会执行附加它的处理程序?2.调用$'id'。单击函数{…}。单击;将调用自身,只是想如果有两个处理程序,因为它们都连接到同一个DOM元素1,那么是否可能。否,如果未定义事件的处理程序,则触发事件将调用默认行为。情况各不相同。例如,调用$myElement.focus将聚焦一个元素,除非您为该聚焦定义了一个处理程序,该处理程序将聚焦一个元素并调用您的处理程序。2.你是对的……是的,这将按预期工作。加载时将同时调用.click和.change。您的问题非常不清楚。你得到了什么结果,你期望得到什么结果>divdbl.clickfunction{}.click;调用自身,但附加另一个事件它不会调用另一个事件处理程序吗?在调用自身中,它本身是什么意思?我定义了一个click处理程序,并在其声明divdbl.clickfunction{…}中调用它;是的,你问题中的代码不是这么说的。你能更新你的问题来反映这一点吗?
var divdbl = $("div:first");
var i = 0;

divdbl.change(function(){
    alert('change');    
});

divdbl.click(function(){
    i++;
    alert('click '+i);
}).change().click();