我需要模拟点击或鼠标事件。我尝试了各种各样的东西,但我使用的lib似乎没有响应它或只是在特定的浏览器上做出响应。 ATM我做$('#target')。val($('#target2')。val());适用于firefox和opera。在chrome,IE8和safari上失败。
我可以向libs添加事件,但我不知道要添加哪个事件(或者如何正确地执行它)。无论如何我如何解决这个问题?基本上我用.val()设置textarea文本,lib似乎没有拿起那个事件。
答案 0 :(得分:3)
您可以使用DOM Level 2事件模型,例如:
function simulateClick(element) {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
cb.dispatchEvent(element);
}
演示:http://www.jsfiddle.net/4yUqL/66/
这将真正模拟对元素的鼠标点击。无论事件是如何约束的。
答案 1 :(得分:2)
.trigger('click')
可能会实现你想要做的事情。它将触发附加到click事件的所有处理程序。
答案 2 :(得分:1)
如果有人碰到这个寻找框架不可知方式来解雇任何HTML和鼠标事件,请查看此处:How to simulate a mouse click using JavaScript?