我dragenter在包含一些孩子的对象上绑定了事件.
$(document).on('dragenter', '#container', function(e) {
console.log('dragenter');
});
Run Code Online (Sandbox Code Playgroud)
当我使用拖动文件移动时,此事件会反复触发.我所期望的dragenter只是在进入#container元素时才开火,而不是每个孩子.
这是正确的行为吗?我该怎样预防呢?
Fel*_*ing 12
您可以测试触发事件的元素是否为容器:
var container = $('#container').get(0);
$(document).on('dragenter', '#container', function(event) {
if(event.target === container) {
console.log('dragenter');
}
});
Run Code Online (Sandbox Code Playgroud)
或者,如果您不必使用事件委派:
$('#container').on('dragenter', function(event) {
if(event.target === this) {
console.log('dragenter');
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13229 次 |
| 最近记录: |