Javascript 如何在Jquery中单击()后调用操作?
我想在单击某个DOM元素后加载一个图像和一些其他操作,但我想在单击操作完成后加载它们 下面是一个代码示例:Javascript 如何在Jquery中单击()后调用操作?,javascript,jquery,Javascript,Jquery,我想在单击某个DOM元素后加载一个图像和一些其他操作,但我想在单击操作完成后加载它们 下面是一个代码示例: $("#message_link").click(function(){ if (some_conditions...){ $("#header").append("<div><img alt=\"Loader\"src=\"/images/ajax-loader.gif\" /></div>"); } }); $(“#
$("#message_link").click(function(){
if (some_conditions...){
$("#header").append("<div><img alt=\"Loader\"src=\"/images/ajax-loader.gif\" /></div>");
}
});
$(“#消息_链接”)。单击(函数(){
如果(某些条件…){
$(“#标题”)。附加(“”);
}
});
问题是if条件在单击操作完成之前执行(或者至少这是我的印象)。我需要在单击操作完成后执行If条件。有人能告诉我一个解决办法吗
谢谢:)如果我正确理解了您的问题,那么您正在查找的是
mouseup
事件,而不是click
事件:
$("#message_link").mouseup(function() {
//Do stuff here
});
当释放鼠标按钮时,mouseup
事件将触发,并且不考虑是否在该元素上按下了鼠标按钮,而click
将同时考虑mousedown
和mouseup
但是,
单击应该可以正常工作,因为在松开鼠标按钮之前,它实际上不会启动。设置超时
可能会有所帮助
$("#message_link").click(function(){
setTimeout(function() {
if (some_conditions...){
$("#header").append("<div><img alt=\"Loader\"src=\"/images/ajax-loader.gif\" /></div>");
}
}, 100);
});
$(“#消息_链接”)。单击(函数(){
setTimeout(函数(){
如果(某些条件…){
$(“#标题”)。附加(“”);
}
}, 100);
});
这将导致在单击事件发生后约100ms追加div,如果满足某些条件。您可以在诸如chain、
$(element).on('click',function(){
//action on click
}).on('mouseup',function(){
//action on mouseup (just before click event)
});
我用它来移除购物车项目。同一个对象,正在执行一些操作,在另一个操作之后您是否尝试了上述代码,以查看它是否执行了您希望它执行的操作?单击非常快。单击是否触发了需要在执行此操作之前完成的其他操作?事实上,“单击”操作是单击的操作。是的,我已经尝试过了,问题是“#选择器”是jquery验证表单中的提交按钮,因此在单击后会出现错误,我想在表单中没有错误的时候加载图像,所以它看起来像是一个加载图像,告诉我“我们正在处理您的表单,请耐心等待”。设置一个超时时间以在以后执行某个时间。这是正确的解决方案,在某些情况下,例如在表单提交中。这是一种黑客行为,但这是我找到为我工作的唯一方法。在URL中的哈希被更改后,我需要这个。点击太快,鼠标没有正确启动。谢谢能够像这样将调用链接到。与单击和mouseup
顺序依次发生无关。两个事件侦听器都只是附加到$(元素)