我有一个在DOM中单击输入时运行的函数。我想阻止元素被检查,直到我的函数可以批准它。我正在尝试使用e.preventDefault();
或event.preventDefault();
执行此操作(有什么不同吗?!)但我没有成功,我做错了什么?
这是我没有preventDefault-part的代码。
$(document).on("click","[data-item]", function() {
cart.updateCart(this);
});
cart.updateCart = function(target) {
// do stuff and perhaps check the input element
}
我尝试了这个,这是行不通的:
$(document).on("click","[data-item]", function() {
cart.updateCart(this, event);
});
cart.updateCart = function(target, event) {
event.preventDefault();
console.log(event); // returns MouseEvent -- is this even the correct "event" ?
// do stuff and perhaps check the input element
}
我想我并没有“得到”这是如何运作的。也许有人可以解释这是如何工作的以及我做错了什么?
答案 0 :(得分:0)
event
应该是传递到点击处理程序的第一个参数。所以你的代码应该是这样的。:
$(document).on("click","[data-item]", function(event) {
cart.updateCart(this, event);
});
cart.updateCart = function(target, event) {
event.preventDefault();
console.log(event); // returns MouseEvent -- is this even the correct "event" ?
// do stuff and perhaps check the input element
}
您可以阅读有关阻止默认操作的更多信息here。