вторник, 16 апреля 2013 г.

Return False - Предотвращение всплытия события по DOM-дереву в JavaScript

Для отмены действия по дефолту, а так же для отмены всплытия события по DOM-дереву при клике можно вместо e.preventDefault() и e.stopPropagation() использовать в конце функции return false.

То есть вместо

$('body').append('<div id="one" style="width: 200px; height: 200px; background-color: black;"><div id="two" style="width: 100px; height: 100px; background-color: green;"></div></div>');

$('#one').click(function(e){
    e.preventDefault();
    console.log('black');
});

$('#two').click(function(e){
    e.preventDefault();
    e.stopPropagation();
    console.log('green');
});

можно написать

$('body').append('<div id="one" style="width: 200px; height: 200px; background-color: black;"><div id="two" style="width: 100px; height: 100px; background-color: green;"></div></div>');

$('#one').click(function(e){
    console.log('black');
    return false;
});

$('#two').click(function(e){
    console.log('green');
    return false;
});

Комментариев нет:

Отправить комментарий