2013-10-23 40 views
0

HTML中的某處有一個輸入。當點擊輸入時,事件應該傳遞給一個函數來獲取點擊的位置。Javascript單擊傳遞到某個函數的「事件」以獲取單擊位置

<input type=".." onclick="namespace.aFunction("param", event)" /> 

(function (namespace, $, undefined) { 
    namespace.aFunction = function(string, event) { 
     var clickX; 
     var clickY; 

     // IE Only 
     var e = window.event || e; 
     clickX = e.clientX; 
     clickY = e.clientY; 
     //... alert to debug or do something 
    }; 
} (window.namespace = window.namespace || {}, jQuery)); 

傳遞「this」在IE中沒有幫助。有沒有一種很好的方式來獲得點擊事件來獲取點擊項目的位置,跨瀏覽器等?

回答

0

這開始在IE中刪除緩存後工作,所以這似乎工作。添加它後,事件參數爲空,但這僅僅是由於瀏覽器中的更新沒有刷新。

<input type=".." onclick="namespace.aFunction("param", event)" /> 

(function (namespace, $, undefined) { 
    namespace.aFunction = function(string, event) { 
     var clickX; 
     var clickY; 

     if (event != 'undefined' && event != null && event.clientX != null && event.clientY != null) { 
      clickX = event.clientX; 
      clickY = event.clientY; 
      //... alert to debug or do something 
     } 
    }; 
} (window.namespace = window.namespace || {}, jQuery));