我有一个带有onclick方法的元素。
我想在另一个功能中激活该方法(或:假点击此元素)。
这可能吗?
我有一个带有onclick方法的元素。
我想在另一个功能中激活该方法(或:假点击此元素)。
这可能吗?
选择元素后,您可以调用 click()
document.getElementById('link').click();
请参阅:https : //developer.mozilla.org/En/DOM/Element.click
我不记得这是否适用于 IE,但应该可以。我附近没有windows机器。
如果您使用的是 JQuery,您可以执行以下操作:
$('#elementid').click();
我可能会误解你的问题,但是,是的,这是可能的。我会去这样做的方式是这样的:
var oElement = document.getElementById('elementId'); // get a reference to your element
oElement.onclick = clickHandler; // assign its click function a function reference
function clickHandler() {
// this function will be called whenever the element is clicked
// and can also be called from the context of other functions
}
现在,只要单击此元素,clickHandler
就会执行其中的代码。同样,您可以通过从其他函数的上下文中调用该函数来执行相同的代码(甚至可以分配clickHandler
处理其他元素触发的事件)>
var clickEvent = new MouseEvent('click', {
view: window,
bubbles: true,
cancelable: true
});
var element = document.getElementById('element-id');
var cancelled = !element.dispatchEvent(clickEvent);
if (cancelled) {
// A handler called preventDefault.
alert("cancelled");
} else {
// None of the handlers called preventDefault.
alert("not cancelled");
}
element.dispatchEvent
所有主要浏览器都支持。上面的示例simulateClick()
基于 MDN上的示例函数。