2012-06-02 68 views
0

事件我有一個自定義事件觸發器上將項目添加到購物車的元件:靶向來自產生

var order = function(){ 
    $(document).trigger('customEvent'); 
    ........... 
    ........ 
}; 

我有其中項目的價格中列出的結構和添加在該項目時我必須從dom中獲得價格。問題是如果我聽取customEvent,它將定位文檔而不是觸發事件的位置。

是否有一個定位到該元素的方式?

這些都指向文件不是元素。

event.target || event.srcElement || event.originalTarget || $(event.target) 

回答

0

您是否嘗試過在事件處理程序中使用$(this)? AFAIK,它應該指向接收事件的實際元素。

$('#myElement').on('customEvent',function(){ 
    $(this).text('foo') 
}) 
$('#mySecondElement').on('customEvent',function(){ 
    $(this).text('bar') 
}) 
$(document).trigger('customEvent') 
0

而不是在文檔元素上觸發事件,爲什麼不在您的項目上觸發它?

$('#itemThatWasAddedId').trigger('customEvent'); 

從評論..edit ..

如果你需要做一些檢索相對於DIV信息被點擊,而不是使用文件自定義事件處理程序多數民衆贊成連接到你的頁面,你可以使用簡單的$()。click()事件。

$('#itemThatWasAddedId').click(function(){ 
    //retrieve the item price using the inner html, or a selector.. 
    $(this).html(); 
}) 
+0

正確的,一個全球性的事件不會在這方面^^ –

+0

以及它在不同的頁面中常用的功能......任何意義,我不能碰那個功能,因爲一些其他團隊開發.. 。我正在考慮使用$ .Event構造函數創建一個自定義點擊觸發器...這種方式我可以捕獲該事件並將元素作爲目標... – paul

+0

很好,爲什麼要經歷所有這些工作,如果它將成爲點擊事件,你可以使用$()。click(),我會編輯我的答案 –