是的,我有一个fancybox。如果?mode = new
,它会自动打开在?mode = new上发生了什么:
<script>
$(document).ready(function(){
$('#newPM').click();
});
</script>
打开正常。但是当你点击元素时,它会一直关闭/打开,因为它被激活了。那么我怎么能只运行一次呢?
答案 0 :(得分:3)
你的意思是它一直打开和关闭fancybox?你可以做到
$("#newPM").unbind("click");
这将删除onclick事件,因此不会再触发它。
答案 1 :(得分:1)
更好的解决方案是重构代码以避免模拟另一个元素的click事件。
模仿人工交互来简化你的代码听起来是个好主意,直到你忘记某些东西依赖于那个“点击”处理程序。
你真正感到害羞的是
<script>
$(document).ready(function(){
'check for url variable:
if (urlVar(something)) {
doSomething();
}
$('#newPM').click(doSomething);
});
function doSomething(e) {
'actionable code here
}
</script>
这样,您的操作和事件处理程序彼此独立。