2010-11-07 119 views
1

是的,我有一個fancybox。它能夠自動打開,如果模式=新jQuery:只運行一次

發生在什麼模式=新的是:??

<script> 
$(document).ready(function(){ 
$('#newPM').click(); 
}); 
</script> 

它打開罰款。但是當你點擊元素時,它會保持關閉/打開狀態,因爲它已被激活。那麼我怎麼只能運行一次呢?

回答

3

你的意思是它不斷打開和關閉fancybox?你可以做

$("#newPM").unbind("click"); 

這將刪除onclick事件,所以它不會被觸發了。

1

更好的解決方案是重構代碼以不模擬其他元素的點擊事件。

模擬人類互動以簡化您的代碼聽起來像是一個好主意,直​​到您忘記某件事情依賴於「單擊」處理程序。

你真正shoudl到是有一些像

<script> 
$(document).ready(function(){ 
    'check for url variable: 
    if (urlVar(something)) { 
     doSomething(); 
    } 
    $('#newPM').click(doSomething); 
}); 
function doSomething(e) { 
'actionable code here 
} 
</script> 

這樣,你的行爲和你的事件處理程序是相互獨立的。