错误消息:this.stopPropagation 不是一个函数
2016-04-05
8975
有人能解释一下为什么我在使用 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个回答
不要使用
this
,
this
指的是被点击的元素。使用
e
,它是事件对象。
document.getElementById('ex1').addEventListener('click', function(e){
e.stopPropagation();
this.style.backgroundColor = 'deeppink';
},false);
<div id="ex1"><h2>Example 1</h2><p></p><h4>results:</h4></div>
Wowsk
2016-04-05