[英]Event listener - click and mouseover?
您可以定義單個函數,然后將其作為.addEventListener
的第二個參數引用。
例子:
<button id='btn' value='some button'>some button</button>
<div id='placeholder'></div>
<script>
(function() {
var btn = document.getElementById("btn");
btn.addEventListener("click",doSomething,false);
btn.addEventListener("mouseover",doSomething,false);
})();
function doSomething(e) {
// example: update the div with the event type
var p=document.getElementById("placeholder");
p.innerHTML=e.type;
}
</script>
下面的代碼可以通過添加另一個參數來確定添加/刪除,將兩個函數合二為一來改進,但你明白了。
(function() { var btn = document.getElementById("btn"); addEvent(btn, "click mouseover", handler); function handler ( event ) { alert("This is the " + event.type + " handler."); } })(); function addEvent ( element, event, fnc ) { var events = event.split(/\\s/), evt = ""; while ( evt = events.shift() ) { ((element.addEventListener) ? element.addEventListener(evt, fnc, false) : element.attachEvent("on" + evt, fnc)); } } function removeEvent ( element, event, fnc ) { var events = event.split(/\\s/), evt = ""; while ( evt = events.shift() ) { ((element.removeEventListener) ? element.removeEventListener(evt, fnc, false) : element.detachEvent("on" + evt, fnc)); } }
<button id="btn" type="button">Click or Hover</button>
我認為這就是你想要的:
var myfunc = function(event) {
var btn...
btn.addEventListener(event, function()...
}
在你可以這樣調用它之后:
Myfunc("click");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.