event.target jquery on () mousedown / up не дает dom, указанный селектором - PullRequest
2 голосов
/ 23 марта 2012

Привет, у меня есть этот простой HTML

<div class="wrapper">
    <span class="higher">
        [higher]
        <span class="lower">
            hello
        </span>
    </span>
</div>​

и этот JS

$('.wrapper').on('mousedown', '.higher', function(e){
    alert($(e.target).attr('class'))
    })​

В основном, когда я нажимаю на слово "привет", я получаю "ниже"целое из "выше".Как я могу сделать так, чтобы цель события была такой же, как указано в параметре селектора on ()?

Вот небольшая скрипка для этого http://jsfiddle.net/TUvB7/2/

Спасибо!

Ответы [ 2 ]

8 голосов
/ 23 марта 2012

Используйте this insured, e - это элемент, который начал барботирование

$('.wrapper').on('mousedown', '.higher', function(e){
    alert($(this).attr('class')) // Changed line
})​

http://jsfiddle.net/TUvB7/7/

1 голос
/ 23 марта 2012

зачем нужно e.target?

$('.wrapper').on('mousedown', '.higher', function(e){
    alert($(this).attr('class'))
})​
...