Javascript 为什么event.defaultPrevented未定义?
根据MDN文档,单击事件应具有名为Javascript 为什么event.defaultPrevented未定义?,javascript,Javascript,根据MDN文档,单击事件应具有名为preventedDefault的属性: 但是,在我的代码中,defaultPrevented是未定义的(Chrome和Safari)。取而代之的是另一个名为:isDefaultPrevented的属性,它似乎可以做到这一点,但是,这在iOS Safari中不起作用 $('a').click(function(event) { event.isDefaultPrevented; // returns true in Chrome (if event.pr
preventedDefault
的属性:
但是,在我的代码中,defaultPrevented
是未定义的(Chrome和Safari)。取而代之的是另一个名为:isDefaultPrevented
的属性,它似乎可以做到这一点,但是,这在iOS Safari中不起作用
$('a').click(function(event) {
event.isDefaultPrevented; // returns true in Chrome (if event.preventDefault() was called)
event.defaultPrevented; // the "correct" way to do it as per MDN docs, however, it doesn't work in Chrome nor iOS.
});
如果您使用jQuery,这就是实现这一点的方法
$('a').click(function(event) {
event.originalEvent.defaultPrevented; // aparently jQuery will alter the event property, but it stores everything in 'originalEvent'
});
如果您使用jQuery,这就是实现这一点的方法
$('a').click(function(event) {
event.originalEvent.defaultPrevented; // aparently jQuery will alter the event property, but it stores everything in 'originalEvent'
});
您的代码显示的是
preventedDefault
,而不是defaultPrevented
。没有什么是preventedDefault
。这也是一个规范化的jQuery事件对象。@epascarello没有区别,只是因为它是jQuery@FooBar事件对象中存在一些差异。此属性不能更改,但其他属性可以更改。有一个orginalEvent具有未更改的版本。@FooBar很高兴撤消否决票,并在更正错误后删除接近票。您有责任尽可能提供再现问题的代码(提供堆栈片段会更好)。您将两个单词颠倒的事实表明您没有注意。您的代码显示的是preventedDefault
,而不是defaultPrevented
。没有什么是preventedDefault
。这也是一个规范化的jQuery事件对象。@epascarello没有区别,只是因为它是jQuery@FooBar事件对象中存在一些差异。此属性不能更改,但其他属性可以更改。有一个orginalEvent具有未更改的版本。@FooBar很高兴撤消否决票,并在更正错误后删除接近票。您有责任尽可能提供再现问题的代码(提供堆栈片段会更好)。事实上,你把两个词颠倒过来,说明你没有注意。