2013-10-15 14 views
7

Istnieją dwa div na mojej stronie.Zdarzenie wielokrotnego kliknięcia JQuery?

<div id="test-1000"></div> 
<div id="test-1111"></div> 

W świetle powyżej jednego źródła zdarzenia kliknięcia jQuery jest:

$('#test-1000').click(function(){}); 

Ale jak osiągnąć dwa div z podobnym do powyższych zdarzeń oświadczenie kliknij aby być monitorowane są i jak odróżnić div, które jest zdarzeniem kliknięcia?

+0

zdarzenie przeszedł do zdarzenia click będzie posiadać odniesienie do rzeczywistego elementu, który został kliknięty, dzięki czemu można łatwo identyfikuj go tą metodą ... zwykle [.click (function (evt) {evt.target})] – ermagana

Odpowiedz

10

użyję wspólnego atrybutu class do grupy wszystkie elementy docelowe

<div class="test" id="test-1000" data-id="1000"></div> 
<div class="test" id="test-1111" data-id="1111"></div> 

następnie

$('.test').click(function(){ 
    //here this.id will give the clicked div id and this will refer the clicked dom element 
    //$(this).data('id') will give 1000/1111 
}) 
2

Wystarczy użyć $(this) w funkcji zwrotnej wiedzieć „które” elementem zdarzenie opalane na .

$('.test').click(function() { 
    alert($(this).attr('id')); 
}); 
-2

Może coś takiego:

document.getElementById("test-1000").onclick = function(){}); 

Nie można użyć elementu zanim zostanie zdefiniowany.

0

Wolę iść z atrybutu danych i podejścia klasy

HTML kod

<div class="test" data="0000">1</div> 
<div class="test" data="1111">2</div> 

js

$('.test').click(function(){ 
    alert($(this).attr("data")); 
}); 

próbki demo

0

Ewentualnie, jeśli nie chcą lub nie możesz zmodyfikować swojego html, możesz użyć jquery "starts-with" selector .

<div id="test-1000"></div> 
<div id="test-1111"></div> 

$("[id^='test']").on('click', function(){ 
    console.log(this.id); 
}); 

JsFiddle

0

HTML

<div class="test" id="test-1000" data-id="1000"></div> 
    <div class="test" id="test-1111" data-id="1111"></div> 

Js

$('.test').click(function(){ 
    //here this.id will give the clicked div id and this will refer the clicked dom element 
    //$(this).data('id') will give 1000/1111 
}); 
Powiązane problemy