错误消息:this.stopPropagation不是函数

时间:2016-04-05 23:39:54

标签: javascript html

有人可以向我解释为什么在使用 stopPropagation 方法时出现此错误消息?我有一个简单的事件,如果你点击ID ex1 div ,会运行一个函数,这将导致div的背景颜色为深粉红色。然后我添加了stopPropagation方法来停止该功能。但是,我在控制台中收到一条错误消息,表示它不起作用,但是,stopPropagation方法仍然有效。

HTML

<div id="ex1"><h2>Example 1</h2><p></p><h4>results:</h4></div>

的Javascript

document.getElementById('ex1').addEventListener('click', function(e){
this.stopPropagation();
this.style.backgroundColor = 'deeppink';
},false);

1 个答案:

答案 0 :(得分:3)

不要使用thisthis指的是点击的元素。使用e,这是事件对象。

Mozilla Documentation

&#13;
&#13;
document.getElementById('ex1').addEventListener('click', function(e){
e.stopPropagation();
this.style.backgroundColor = 'deeppink';
},false);
&#13;
<div id="ex1"><h2>Example 1</h2><p></p><h4>results:</h4></div>
&#13;
&#13;
&#13;