我的想法是一个脚本,当用户将鼠标指针移到图片上时,它会自动单击图片。请指导我如何制作。提前谢谢你。
不是说我支持这样的事情。 但......
el = document.getElementById('lol');
el.onmouseover = function(){el.click();}
el.onclick = function(){
//your code for having clicked the element
}
这是一个jsfiddle:http://jsfiddle.net/Rap6M/
但是,为什么不把你的代码放在onmouseover
侦听器中呢?特别是看到(尽管被广泛接受)并非所有浏览器都支持el.click()
以下是 MDN 对 click() 的看法: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.click
注意到他们说:
但是,单击事件的冒泡不会导致
<a>
元素 启动导航,就像收到真正的鼠标单击一样。
听起来您想触发 DOM 鼠标点击事件,但在鼠标悬停在某些元素(在本例中为图片)时。
我的建议是,只要您将鼠标悬停在图像上,就触发事件(鼠标点击)。只需在对象上有一个事件侦听器侦听 onmouseover 事件,一旦检测到它,就会在您需要的任何元素上触发单击事件。
看看这个:
<img id="my_image" src="myimage.png"></img>
<div id="my_clicky_div">My click event will be triggered</div>
<script type="text/javascript">
$("#my_clicky_div").on("click", function() {
console.log("My click event has been triggered!")
})
$("#my_image").on("mouseover", function() {
$("#my_clicky_div").trigger('click');
});
</script>
创建图像标记和div。 每当将鼠标悬停在此图像上时,都会触发div 的 onclick 事件。
为了方便起见,您应该将需要触发的任何事件绑定到 onmouseover 事件上,您基本上绕过了一个步骤,如下所示:
<img id="my_image" src="myimage.png"></img>
<script type="text/javascript">
$("#my_image").on("mouseover", function() {
// Instead of issuing another event, run the code that happens during the click event
});
</script>
让我知道这是否有帮助!
引用:http://api.jquery.com/mouseover/、http://api.jquery.com/trigger/http://api.jquery.com/on