Javascript 使用事件委派时获取当前冒泡阶段的目标
我有一个包含一些按钮的div,我想将一个事件侦听器附加到该div,该div侦听从其中的按钮冒出的事件 我遇到的问题是Javascript 使用事件委派时获取当前冒泡阶段的目标,javascript,jquery,jquery-events,event-delegation,Javascript,Jquery,Jquery Events,Event Delegation,我有一个包含一些按钮的div,我想将一个事件侦听器附加到该div,该div侦听从其中的按钮冒出的事件 我遇到的问题是event.currentTarget的值似乎与所说的不匹配 考虑以下代码: $('.container')。在('click','.myButton',函数上(事件){ 日志(“event.currentTarget:”); console.log(event.currentTarget); console.log(“event.target:”); console.log(e
event.currentTarget
的值似乎与所说的不匹配
考虑以下代码:
$('.container')。在('click','.myButton',函数上(事件){
日志(“event.currentTarget:”);
console.log(event.currentTarget);
console.log(“event.target:”);
console.log(event.target);
});代码>
点击我
您选择容器div的假设与您的事件绑定是错误的
如果您要执行以下操作:
$('.container').on('click', function(){/**/});
那么您的事件.currentTarget
将是容器。
事件。目标可以是以下任何内容
如果添加选择器.myButton
,则事件将委托给该选择器,而不是委托给“.container”。您假设选择了容器div,这与您的事件绑定是错误的
如果您要执行以下操作:
$('.container').on('click', function(){/**/});
那么您的事件.currentTarget
将是容器。
事件。目标可以是以下任何内容
如果添加选择器.myButton
,则事件将委托给该选择器,而不是委托给“.container”。您假设选择了容器div,这与您的事件绑定是错误的
如果您要执行以下操作:
$('.container').on('click', function(){/**/});
那么您的事件.currentTarget
将是容器。
事件。目标可以是以下任何内容
如果添加选择器.myButton
,则事件将委托给该选择器,而不是委托给“.container”。您假设选择了容器div,这与您的事件绑定是错误的
如果您要执行以下操作:
$('.container').on('click', function(){/**/});
那么您的事件.currentTarget
将是容器。
事件。目标可以是以下任何内容
如果添加选择器.myButton
,事件将委托给该选择器,但不会委托给“.container”。我认为它正在按预期工作
在上述情况下,事件直接连接到按钮,因此currentTarget和target始终相同
$('.container')。在('click','.myButton',函数(事件){})上
并不意味着事件已附加到div。它只是委派事件。也就是说,事件只会在.container
之前冒泡,并且事件仍然只附加到.myButton
案例1:如果事件附加到div
如果单击按钮,则currentTarget将是按钮,target将是div
如果单击div,则currentTarget将是div,target也将是div
示例
$('.container')。在('click',函数(事件){
console.log(event.currentTarget);
console.log(event.target);
});代码>
div{
边框:1px实心;
宽度:150px;
高度:150像素;
}
点击我
点击我
我认为它正在按预期工作
在上述情况下,事件直接连接到按钮,因此currentTarget和target始终相同
$('.container')。在('click','.myButton',函数(事件){})上
并不意味着事件已附加到div。它只是委派事件。也就是说,事件只会在.container
之前冒泡,并且事件仍然只附加到.myButton
案例1:如果事件附加到div
如果单击按钮,则currentTarget将是按钮,target将是div
如果单击div,则currentTarget将是div,target也将是div
示例
$('.container')。在('click',函数(事件){
console.log(event.currentTarget);
console.log(event.target);
});代码>
div{
边框:1px实心;
宽度:150px;
高度:150像素;
}
点击我
点击我
我认为它正在按预期工作
在上述情况下,事件直接连接到按钮,因此currentTarget和target始终相同
$('.container')。在('click','.myButton',函数(事件){})上
并不意味着事件已附加到div。它只是委派事件。也就是说,事件只会在.container
之前冒泡,并且事件仍然只附加到.myButton
案例1:如果事件附加到div
如果单击按钮,则currentTarget将是按钮,target将是div
如果单击div,则currentTarget将是div,target也将是div
示例
$('.container')。在('click',函数(事件){
console.log(event.currentTarget);
console.log(event.target);
});代码>
div{
边框:1px实心;
宽度:150px;
高度:150像素;
}
点击我
点击我
我认为它正在按预期工作
在上述情况下,事件直接连接到按钮,因此currentTarget和target始终相同
$('.container')。在('click','.myButton',函数(事件){})上
并不意味着事件已附加到div。它只是委派事件。也就是说,事件只会在.container
之前冒泡,并且事件仍然只附加到.myButton
案例1:如果事件附加到div
如果单击按钮,则currentTarget将是按钮,target将是div
如果单击div,则currentTarget将是div,target也将是div
示例
$('.container')。在(