当前位置:  开发笔记 > 编程语言 > 正文

假"单击"以激活oncl​​ick方法

如何解决《假"单击"以激活oncl​​ick方法》经验,为你挑选了4个好方法。

我有一个带onclick方法的元素.

我想在另一个函数中激活该方法(或者:假设点击此元素).

这可能吗?



1> Ben..:

选择元素后,可以调用click()

document.getElementById('link').click();

请参阅:https://developer.mozilla.org/En/DOM/Element.click

我不记得这是否适用于IE,但它应该.我附近没有窗户机器.



2> Eduardo Camp..:

如果你正在使用JQuery,你可以这样做:

$('#elementid').click();


该课题不要求JQuery答案.此外,vanilla语法实际上是相同的,但无疑更快.
它无法触发html选择元素onClick事件下拉选择的选项,为什么?
$('#elementid').触发器("click");
我需要一个新厨房-我将为此打电话给jQuery。

3> Tom..:

我可能会误解你的问题,但是,是的,这是可能的.我这样做的方式是这样的:

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处理由其他元素触发的事件)>



4> Jonathan Lon..:
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上的示例函数。

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有