[英]How can I preventDefault inside a callback inside an event handler?
例如我有类似的东西
$('div').on('click', '.button', function(event){
$('.showdiv').show('fast', function(){
var myvar = someFunction();
if(myvar == 1){
event.preventDefault();
}
});
});
我想防止在show函数的回调内单击按钮的Default行为(以确保在运行myvar函数之前显示show div)。 但是,我无法使preventDefault()起作用。 我该如何实现? 谢谢!
请检查下面的更新代码,我认为您还需要在show函数中定义事件。
$('div').on('click', '.button', function(event){
$('.showdiv').show('fast', function(event){
var myvar = someFunction();
if(myvar == 1){
event.preventDefault();
}
});
});
希望这对您有用。
它不应位于回调内部。
如果将其放在回调中,则默认行为将已经触发:
$('div').on('click', '.button', function(event)
event.preventDefault();{
$('.showdiv').show('fast', function(){
var myvar = someFunction();
if(myvar == 1){
}
});
});
在代码中,您没有将事件作为参数传递。 改成
$('.showdiv').show('fast', function(){
var myvar = someFunction(event); // pass parameter
if(myvar == 1){
event.stopPropagation();
event.preventDefault();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.