2012-06-02 1 views
0

У меня есть триггер пользовательского события на добавление элемента в корзину покупок:ориентации элемента, из которого генерируется событие

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

У меня есть структура, в которой указана цена товара и при добавлении этого элемента в cart Мне нужно захватить цену от дома. Проблема в том, что если я слушаю 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, который щелкнул, вместо того, чтобы использовать обработчик документа CustomEvent Thats прилагается к вашей странице, вы можете просто используйте простое событие $(). click().

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

правильно, глобальное событие не имеет никакого смысла в этом контексте ^^ –

+0

хорошо это общая функциональность используется на разных страницах ... и я не могу прикоснуться к этой функции, так как разработан какой-либо другой команды .. . Я думал о создании пользовательского триггера с использованием конструктора $ .Event ... таким образом, я могу захватить это событие и направить его на объект ... – paul

+0

ну зачем все это работать, если это будет событие click anyways , вы можете просто использовать $(). click(), я отредактирую свой ответ –

Смежные вопросы