我在一块区域中点击如果点击的是空白地方这可以进行绘制,如果点击的地方有东西则可以进行拖动。现在的问题是我希望点击smartWIn元素中的子元素,也当做smartWin元素被点击了,想利用冒泡原理结果发现不行?
ringa_lee2017-04-11 12:37:42
$(".smartWin").addEventListener('mousedown',function(){
consle.log(111)
});
看行不
迷茫2017-04-11 12:37:42
谢邀.
(我也是菜鸟哈,简单写下思路)
看到题主提到:
...如果点击的是空白地方这可以进行绘制...
我第一个反应是,这不应该上canvas么。。。
...如果点击的地方有东西则可以进行拖动...
这个倒比较好解决,用事件代理应该能搞的定,类似于给.smartWIn
绑个:
$('.smartWIn').on('mousedown', 'p', function(){
console.log('111');
});
至于手动检查事件冒泡元素的方法,也可以用:
var $target = $(event.target);
if( $target.is('.smartWIn') ) {
return; //检查触发事件的目标元素和绑定事件的元素是否是同一元素
} else {
console.log('111');
}