javascript click()函数在safari中不起作用

时间:2014-01-18 14:19:29

标签: javascript safari

下一代码在除Safari之外的所有浏览器中都能正常运行。为什么?

<body onload="document.getElementById('click').click();">
<a id="click" class="fancybox" href="#select">click</a>
<div id="select">Welcome!</div>

此代码暗示jquery。也许这就是问题?为什么它在Safari中不起作用?

下一个版本也不起作用:

<a id="click" class="fancybox" href="#select" onmouseover="this.click();">

除非我用鼠标点击(不是鼠标悬停,应该如此)。所以问题在于click()函数(仅在Safari中)。我该怎么办?

解决:

只需添加此功能:

<script>
function autoclick(id) {
var a = $(id)[0];
var evObj = document.createEvent('MouseEvents');
evObj.initMouseEvent('click', true, true, window);
a.dispatchEvent(evObj); }
</script>

然后,它可以这样调用:

<body onload="autoclick('#click')">
<a id="click" class="fancybox" href="#select">click</a>
<div id="select">Welcome!</div>

或另一个例子:

<a id="click" class="fancybox" href="#select" onmouseover="autoclick('#click')">

感谢大家!

0 个答案:

没有答案