为什么我要用这个密码?
如何正确传递(或不传递)事件?
(最初的问题和下面代码的答案是Extracting common logic to a reusable function in JavaScript——这个问题是关于方法的,这个问题是关于event
的问题,它看起来不同而且更具体)。
$(function(){
var updateUi = function (event) {
event.preventdefault();
$("span.show_hide").toggleclass("shown hidden");
$("table").toggleclass("wide narrow");
};
$("a[data-toggle-description-length]='toggle'").click(function(event){
updateUi(event);
$.get('/toggle_full_details');
});
$("a[data-toggle-description-length-refocus]='toggle'").click(function(event){
updateUi();
$("input[type='text']:first").focus(); // focus
$.get('/toggle_full_details');
});
});
我怎样才能避免呢?
最佳答案
Typo:
这是一个真正的类型错误,因为打字错误。见下文。
改用event.preventDefault();
!
进一步添加:event.preventdefault()不是jquery。这是一个dom事件模型。从这一点开始,我将把jquery放在工作台上,因为它在内部处理事件的方式稍有不同,所以如果我们一直交替引用这两个事件,它只会造成混淆和错误信息。
http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413/events.html#Events-Event-preventDefaultpreventDefault
这可以是评论,但为什么不回答。:)
http://api.jquery.com/event.preventdefault/
如果调用此方法,则事件的默认操作将不为
触发。
关于javascript - TypeError:event.preventdefault不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25477317/