[英]Can I have 2 JavaScript onClick events in a single element?
您可以將2個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);
您可以在邏輯上做到這一點,即:
<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')
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.