【发布时间】:2011-04-07 07:38:53
【问题描述】:
为什么点击trigger1和trigger2不会触发点击open?
<a id="trigger1" href="#" onclick="jQuery('#open').trigger('click');">trigger1</a>
<a id="trigger2" href="#" onclick="jQuery('#open').click();">trigger2</a>
<a id="open" href="http://google.com">open</a>
使用ready (trigger3) 也不起作用:
<a id="trigger3" href="#">trigger3</a>
...
jQuery(document).ready(function(){
jQuery('#trigger3').bind('click', function(){
jQuery('#open').html('to be fired'); /* works */
jQuery('#open').click();
});
jQuery('#trigger3').click(function(){
jQuery('#open').html('to be fired'); /* works */
jQuery('#open').click();
});
});
【问题讨论】:
-
为什么要使用内联javascript?
-
等等,trigger3 能用吗?
-
trigger3不会在open上触发 click(),但更改open的内容会起作用 -
从两个链接中删除
onclick="...." -
@marioosh 内联代码不是一个好的编程习惯。您不能将其分离到外部文件中,将其最小化,并且如果发生更改,您必须对所有文件进行更改。将你的 js 放到一个外部文件中,并在页面头部导入。
标签: jquery