我的代码很简单但只适用于IE而不是Firefox。
$(document).ready(function(){
$('li#first').click();
});
我也尝试过:
document.getElementById('first').click();
但这也不起作用。
这是IE错误/功能还是其他浏览器不支持click()
?
回应评论:
$('li#first').click()
时,只触发了新事件,但是用鼠标点击了该元素(新的和原始的)。提前致谢。
答案 0 :(得分:10)
Firefox不支持click()。
正在运行document.getElementById('first').click()
会返回以下错误click is not a function
所以我添加了一段代码来为每个元素添加click()功能。经过一系列痛苦的谷歌搜索后发现This code this thread。
该片段位于下方,只需在页面上包含一次:
HTMLElement.prototype.click = function() {
var evt = this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
this.dispatchEvent(evt);
}
答案 1 :(得分:2)
您的代码应该可以在Firefox中使用。这是一个证明它的完整代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
<style type="text/css"><!--
--></style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript"><!--
jQuery(function($){
$(document).ready(function(){
$('li#first')
.click(function(){
alert("I've been clicked: " + $(this).text());
})
.click();
});
});
//--></script>
</head>
<body>
<ul>
<li id="first">First item</li>
<li>Second item</li>
<li>Third item</li>
</ul>
</body>
</html>
答案 2 :(得分:1)
试试这个 HTML
<a id="link" href="url">click here</a>
JS
$(document).ready(function(){
$("#link").click(function(){
window.location.href = $(this).attr('href');
});
});
如果这是一些你不想做的事情,也可以尝试这样的事情:
$(document).ready(function(){
$("#link")[0].click();
});
答案 3 :(得分:0)
您是否想要转到第一个链接?您无法通过点击触发链接的默认操作。
但这是一个解决方法:
var link = jQuery("#first>a", this)
if(!link.onclick) window.open(link.href, link.target || "_self")
else jQuery(link).click()
来源:http://forum.jquery.com/topic/jquery-a-0-click-not-working
答案 4 :(得分:0)
Firefox确实支持.click()JQuery函数。我遇到了同样的问题,直到我在选择器中指定了标签名称。基本上,我有这样的事情:
<a id="vidLeftArrow" blah blah blah>...</a>
$("#vidLeftArrow").click(function () {
//Do something
});
哪个不起作用。我不得不将javascript更改为:
<a id="vidLeftArrow" blah blah blah>...</a>
$("a#vidLeftArrow").click(function () {
//Do something
});