2010-11-07 140 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> 

这样,你的行为和你的事件处理程序是相互独立的。