Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么event.defaultPrevented未定义?_Javascript - Fatal编程技术网

Javascript 为什么event.defaultPrevented未定义?

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

根据MDN文档,单击事件应具有名为
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很高兴撤消否决票,并在更正错误后删除接近票。您有责任尽可能提供再现问题的代码(提供堆栈片段会更好)。事实上,你把两个词颠倒过来,说明你没有注意。