问题描述:
如何模拟原型中锚点(<a>
)标签的点击?原型 - 模拟点击<a>标签
例如我期望下面的代码工作在点击第二个链接(“点击我”)将导致alert('here');
被执行。
<a id="myLink" href="" onclick="alert('here'); return false;">don't click me</a>
<br />
<a href="" onclick="$('myLink').click(); return false;">click me</a>
thanks,p。
答
您可以从Protolicious库使用simulate()
方法:
您可以看到测试沙箱here,但随着事件的补充道:
<a id="myLink" href="#">don't click me</a>
<br />
<a id="clicked" href="#">click me</a>
<script type="text/javascript">
Event.observe($('myLink'), 'click', function() { alert ('aaa'); return false; });
Event.observe($('clicked'), 'click', function() { alert ('bbb'); $('myLink').simulate('click'); return false; });
</script>
答
我没有测试过,但试试这个:
<a id="myLink" href="" onclick="alert('here'); return false;">don't click me</a>
<br />
<a href="" onclick="Event.fire($('myLink'), 'click');">click me</a>
你试过运行代码吗?因为我认为问题可能是$('myLink')没有返回HTMLElement对象。它不适合我... – pstanton 2010-07-15 07:08:06
用示例页面查看修订后的答案:) – 2010-07-15 07:47:29
啊我看到..我需要protolicious ...但肯定有原型没有第三方库的方式?感谢信息..至少我知道有一种方式。如果其他人有原型只回答,会稍微保持一点。 – pstanton 2010-07-15 09:04:54