如何在firefox中传递事件和变量?

时间:2012-10-22 21:27:26

标签: javascript firefox

这适用于IE,但不适用于Firefox。我知道Firefox中不存在window.event,但是我无法找出正确的语法来使其工作。

HTML:<tr onclick="getDETAILS('getTASKS');"

使用Javascript:

  function getDETAILS(action) {
     if (window.event.ctrlKey) { 
        //doing something with action
     }
  }

2 个答案:

答案 0 :(得分:2)

以下适用于IE,Firefox和Chrome。(最新版本)

HTML:

<tr onclick="getDETAILS(event, 'getTASKS');">

JavaScript的:

function getDETAILS(evt, action) {
  if(evt.ctrlKey) {
    //doing something with action
  }
}

现场演示:http://jsfiddle.net/vYUS8/2/

答案 1 :(得分:2)

跨浏览器解决方案:

<tr onclick="getDETAILS('getTASKS', event);">

<强> JS:

function getDETAILS(action, e) {
    e = e || window.event;
    if (e.ctrlKey) {
        alert('do stuff');
    }
}​

Fiddle

event对象将在所有现代浏览器中传递给函数的形式参数e

如果传递的event对象为undefined(旧版IE),则e设置为window.event