如何解除點擊和鼠標懸停事件,直到動畫完成並在之後進行綁定?在動畫過程中解除點擊和鼠標懸停事件
0
A
回答
0
當動畫開始使用這些:
$('#foo').unbind(); //unbinds all
$('#foo').unbind('click'); //only click event
$('#foo').unbind('mouseover'); //only mouseover event
,然後綁定事件完成時...
這裏是一個小提琴: http://jsfiddle.net/YmJzt/2/
從小提琴的基礎是:
function aClick() { alert("YAY! I'm working") }
$("#animateBtn").click(function() {
//First Unbind
$("#theone").unbind('click', aClick).text("Does nothing...");
//Then Animate
$("#block").animate({
width: "70%",
opacity: 0.4,
marginLeft: "0.6in",
fontSize: "3em",
borderWidth: "10px"
}, 1500,
//On animation complete bind back...
function() {$("#theone").click(aClick).text("Can Click!");}
);
});
0
u能像
$("p").unbind("click,mouseover");
用於刪除解除綁定事件,直到動畫完成
$("#clickme").click(function() {
$("#book").animate({
opacity: 0.25,
left: "+=50",
height: "toggle"
}, 5000, function() {
$("p").unbind("click,mouseover");// herer unbind done
});
$("p").bind("click,mouseover");// here bind again
});
-1
您可以使用is(:animated)
檢查動畫當前正在運行。
$('element').click(function(){
if($(this).is(':animated')){
// the element is currently animated
}else{
// the element is not being animated
}
})
如果您要停止當前正在運行的動畫,可以使用stop()。使用stop(true, true)
,如果動畫當前正在某個元素上運行,則停止並跳轉到結尾。
+0
我認爲他/她想要阻止'click'和'mouseover'事件從動畫中的元素上觸發,不會停止動畫。話又說回來,問題不是很好措辭。 –
0
$('#clickme').unbind('click').unbind('mouseover');
$("#book").animate({
opacity: 0.25,
left: "+=50",
height: "toggle"
}, 5000, function() {
$('#clickme').bind('click', click_function).bind('mouseover', mouseover_function)
});
$("#clickme").click(click_function);
function click_function(){
//do something
}
function mouseover_function(){
//do something
}
這將解除綁定的元素點擊剛剛動畫之前,如果要禁用鏈接一段時間它的兩個容易和更快地重新綁定在完成動畫
1
回調使用類。看看下面:
$('link').click(function(event){
if(event.hasClass('disabled'))
return;
else{
event.animate(/*some args*/ , function(){ // call back function
event.removeClass('disabled');
});
}
});
你只需要添加一個CSS的.disabled
序禁用鏈接!
這段代碼比使用unbind更快,因爲它沒有開銷。
0
不要解除綁定事件處理程序。只需在動畫開啓時設置一個標誌並在完成後重置。現在在這些事件處理程序中,檢查該標誌是否設置,如果是,則返回false否則讓處理程序執行。
相關問題
- 1. JQuery鼠標懸停和點擊事件
- 2. 鼠標懸停事件不解僱了點擊事件火D3
- 3. 解除綁定鼠標懸停事件
- 4. 自動點擊鼠標懸停在
- 5. 使用鼠標'點擊'而不是'鼠標懸停'事件,jquery
- 6. Jquery移動和鼠標懸停事件
- 7. 點擊鼠標懸停
- 8. HTML5畫布鼠標懸停事件
- 9. 孩子點擊事件觸發父鼠標懸停事件
- 10. 將鼠標懸停和點擊事件添加到CSS3按鈕
- 11. 如何同時添加鼠標懸停和點擊事件?
- 12. 在鼠標懸停暫停jquery動畫
- 13. 在鼠標懸停停止jquery動畫
- 14. 在鼠標懸停時停止動畫
- 15. clearTimeout鼠標懸停事件不清除setoutout鼠標事件
- 16. 支持鼠標懸停,鼠標懸停,點擊r3d4?
- 17. JQuery動畫和鼠標懸停
- 18. 沒有在鼠標懸停/鼠標懸停定義jQuery事件
- 19. 與懸停事件或鼠標懸停
- 20. 如何更改點擊鼠標懸停或通過jquery懸停?
- 21. 繞過iOS的鼠標懸停事件
- 22. Jquery鼠標懸停事件
- 23. C++鼠標懸停事件
- 24. SVG組鼠標懸停/鼠標事件
- 25. 在WPF中的鼠標懸停事件?
- 26. 與滾動鼠標懸停事件
- 27. 在鼠標懸停不觸發動畫
- 28. jQuery和鼠標懸停事件
- 29. Div圖像和鼠標懸停事件
- 30. jQuery懸停動畫和點擊問題
它不是一個安全suloution becouse在多於一個的事件處理程序訂閱事件情況下,將解除綁定所有這些,它能夠更好地發送特定的事件處理函數取消綁定作爲謝勝利ARG。 – AhmadF
@AhmadF看到我的小提琴例如,你可以有選擇地確定哪些功能要取消綁定.... – Mortalus
現在你的soultion好! – AhmadF