下一代码在除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')">
感谢大家!