我可以在一个元素中有两个JavaScript onClick事件吗

Can I have 2 JavaScript onClick events in a single element?

本文关键字:JavaScript 两个 onClick 事件 元素 一个 我可以      更新时间:2023-09-26

你能把两个JavaScript onClick事件放在一个元素中吗?这是我迄今为止尝试过的,我尝试过调用函数,但也不起作用。

<div class="contactme"><a href="#contactnav" onclick="document.getElementById('download').style.display='none'; document.getElementByID('skype').style.display='none';">Message me!</a></div>

调用功能:

function hide(){
document.getElementById('download').style.display='none';
document.getElementById('skype').style.display='none';
}

HTML:

<div class="contactme"><a href="#contactnav" onclick="hide();">Message me!</a></div>

然而,它们似乎都不起作用。

当然,您可以用纯Javascript来完成。您的HTML根本不需要onclick属性。

HTML:

<div class="contactme"><a href="#contactnav">Message me!</a></div>

JavaScript:

var contact = document.getElementsByClassName("contactme")[0];
contact.addEventListener("click", function() {
    document.getElementById('download').style.display='none';
    document.getElementByID('skype').style.display='none';
}

现在,您可以使用contact.addEventListener添加任何您想要的功能,比如:

contact.addEventListener("click", hide);

尝试这个

http://jsfiddle.net/ErnestoOsuna/2pjfL5oq/给我留言!

element=document.getElementById('some_id');
element.addEventListener('click',some_func);
element.addEventListener('click',some_func2);

您的两个代码都是正确的,但在第一个代码中您键入了"document.getElementByID"。刚刚修复。

使用element.addEventListener(Event, Function, false);

document.getElementById('ELEMENTID').addEventListener('click', function(e) {
    // onclick code here
}, false);
document.getElementById('ELEMENTID').addEventListener('click', function(e) {
    // more code here
}, false);

如何在onclick事件中调用多个JavaScript函数?

关于你的片段,

onclick="hide()"

您可以按逻辑操作,即:

<div class="contactme">
<a href="#contactnav" onclick="myfun('one')">Message me!</a>'
</div>

现在在javascript中用程序实现这一点:

function myfun(var execute){
    if(execute=="one"){
    // execute this if it is one
    }
    else(execute=="two"){
    // execute this if it is two
    }
}

现在,无论何时调用myfun('one'),它都执行第一个条件,myfun('two')执行第二个条件。