例如我有类似
的东西$('div').on('click', '.button', function(event){
$('.showdiv').show('fast', function(){
var myvar = someFunction();
if(myvar == 1){
event.preventDefault();
}
});
});
我想在show函数的回调中阻止click按钮的Default行为(以确保在myvar函数runn之前显示show div)。我不能使preventDefault()工作。我怎样才能实现呢?谢谢!
答案 0 :(得分:0)
请检查以下更新代码,我认为您还需要在show function中定义事件。
$('div').on('click', '.button', function(event){
$('.showdiv').show('fast', function(event){
var myvar = someFunction();
if(myvar == 1){
event.preventDefault();
}
});
});
希望这对你有用。
答案 1 :(得分:0)
它不应该在回调中。
如果你把它放在回调中,那么默认行为就已经被触发了:
$('div').on('click', '.button', function(event)
event.preventDefault();{
$('.showdiv').show('fast', function(){
var myvar = someFunction();
if(myvar == 1){
}
});
});
答案 2 :(得分:0)
在代码中,您没有将事件作为参数传递。 改为
$('.showdiv').show('fast', function(){
var myvar = someFunction(event); // pass parameter
if(myvar == 1){
event.stopPropagation();
event.preventDefault();
}
});