1

これはIEで機能しますが、Firefoxでは機能しません。window.eventがFirefoxに存在しないことは理解していますが、それを機能させるための正しい構文を理解できません。

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

Javascript:

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

2 に答える 2

1

以下は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/

于 2012-10-22T21:29:19.127 に答える
1

クロスブラウザソリューション:

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

JS:

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

フィドル

オブジェクトは、すべての最新のブラウザーでevent関数の仮パラメーターに渡されます。e

渡されたeventオブジェクトがundefined(古いバージョンのIE)の場合、eはに設定されwindow.eventます。

于 2012-10-22T21:36:09.140 に答える