Javascript 按钮点击事件(硬编码)

Javascript 按钮点击事件(硬编码),javascript,events,button,onclick,Javascript,Events,Button,Onclick,是否可以“直接”检查onclick标签中的e.按钮 例如 <div onclick="if(e.button == 1) { alert(e.button); }"></div> 提前谢谢 彼得是的。它看起来像: <div onclick="javascript:var e = window.event; if(e.button == 1) { alert(e.button); }"></div> 是。它看起来像: <div onc


是否可以“直接”检查onclick标签中的e.按钮

例如

<div onclick="if(e.button == 1) { alert(e.button); }"></div>

提前谢谢
彼得是的。它看起来像:

<div onclick="javascript:var e = window.event; if(e.button == 1) { alert(e.button); }"></div>

是。它看起来像:

<div onclick="javascript:var e = window.event; if(e.button == 1) { alert(e.button); }"></div>

您放入
onclick
的内容将被包装在一个函数中,因此理论上您可以将任何JavaScript放入其中:

<div onclick="var e = event || window.event; if(e.button == 1) { alert(e.button); }"></div>

但这并不被认为是一个好的实践,因为很难维护HTML和JavaScript的混合。更好的方法是使用JavaScript附加函数:

// given your HTML is
<div id="myDIV"></div>

// you can do:
document.getElementById('myDIV').onclick = function(event) {
   var e = event || window.event; 
   if(e.button == 1) { 
       alert(e.button); 
   }
}
//如果您的HTML是
//你可以做:
document.getElementById('myDIV')。onclick=函数(事件){
var e=事件| | window.event;
如果(e.button==1){
警报(e.按钮);
}
}


.

您放入
onclick
的内容将被包装在一个函数中,因此理论上您可以将任何JavaScript放入其中:

<div onclick="var e = event || window.event; if(e.button == 1) { alert(e.button); }"></div>

但这并不被认为是一个好的实践,因为很难维护HTML和JavaScript的混合。更好的方法是使用JavaScript附加函数:

// given your HTML is
<div id="myDIV"></div>

// you can do:
document.getElementById('myDIV').onclick = function(event) {
   var e = event || window.event; 
   if(e.button == 1) { 
       alert(e.button); 
   }
}
//如果您的HTML是
//你可以做:
document.getElementById('myDIV')。onclick=函数(事件){
var e=事件| | window.event;
如果(e.button==1){
警报(e.按钮);
}
}


.

谢谢你的快速回答!顺便说一句,这在每个“新”浏览器中都有效吗?(a)
javascript
标签是不必要的,而且容易混淆。(b) 这在Firefox中不起作用(我很惊讶它在Chrome中起作用)。@Heandel:如果你不解释
javascript
标签的作用,你会让不了解它是什么的新手感到困惑,认为有必要拥有它。在W3C兼容的浏览器中,事件对象作为参数传递给事件处理程序,不能通过
窗口使用。event
(这是一个IE事件)。没错,它在ff中不起作用。FelixKling的解决方案很有效。谢谢你的快速回答!顺便说一句,这在每个“新”浏览器中都有效吗?(a)
javascript
标签是不必要的,而且容易混淆。(b) 这在Firefox中不起作用(我很惊讶它在Chrome中起作用)。@Heandel:如果你不解释
javascript
标签的作用,你会让不了解它是什么的新手感到困惑,认为有必要拥有它。在W3C兼容的浏览器中,事件对象作为参数传递给事件处理程序,不能通过
窗口使用。event
(这是一个IE事件)。没错,它在ff中不起作用。FelixKling的解决方案有效。