为什么点击trigger1和trigger2不点击打开?
<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(); }); });
解决方法
重要的是要澄清,做jQuery(‘#open’).click()不执行锚标签的href属性,所以你不会被重定向.它执行未定义的#open的onclick事件.
您可以通过给#open一个点击事件来完成重定向和使用原始jQuery(‘#open’).click()代码的能力.
jQuery('#open').click( function (e) { window.location.href = this.href; });