2016-06-21 8 views
1

So erhalten Sie das umschließende Element mit Dokument beim Klicken.Dokument bei Klick mit Selektor

var this_main = $(this); 
    $(document).this_main.on('click', '.nav-circlepop a.prev', function(){ 
}); 

Was mache ich falsch?

+0

können Sie bitte den HTML-Code teilen? – brk

+1

Bitte geben Sie mehr an, geben Sie vollständige Skript und beschreiben, was Sie wirklich tun möchten? Damit wir Ihnen helfen können. – Neeraj

+1

Kannst du nicht einfach 'this_main.on ('klick' ...'?? – 4castle

Antwort

0

Sie text Methode den Text packen können.

Da Sie keine HTML bereitgestellt ich die folgenden HTML-Schnipsel vermuten ist nah an Ihrem Code

HTML

<div class = "nav-circlepop"> 
<a class = "prev" href=""> Anchor tag text </a> 
</div> 

jQuery

$(document).on('click', '.nav-circlepop a.prev', function(event){ 
    event.preventDefault(); 
    document.write('<pre>'+$(this).text()+'</pre>') 
}); 

Code Erklärung

$(document).on('click', '.nav-circlepop a.prev',function(event){}) 

Jedes Klickereignis im Dokument wird delegiert an das Zielelement.

Hier repräsentiert der zweite Parameter das Zielelement.

Dabei ist ein übergeordnetes Element und das Anker-Tag a ist untergeordnetes Element. Diese Anker-Tag a eine Klasse prev .So das Zielelement ist a.prev

prüfen diese DEMO

0

Verwenden Sie diese. Die .on() Methode wird an der aktuell ausgewählten Gruppe von Elementen in der jQuery-Objekt Event-Handler

$(this_main).on('click', '.nav-circlepop a.prev', function() { 
    }); 
+0

Schließen, aber das feuert es nicht richtig. – rcsnooks

0

Sie sind nur übermäßige Code verwendet:

$('.nav-circlepop a.prev').click(function(){ 
    console.log('worked'); 
}); 
0

ich nicht genau wissen, dass das, was Sie tun wollen, aber es ist nur für Idee für Sie

$('.nav-circlepop a.prev').click(function(){ 
    alert("now you can everything with this function"); 
});