2017-02-16 5 views
0

Каковы различия между: -Событие распространения связывания

$("#btn").click(handler); 

и

$("#btn").on('click', handler); 

Оба выше будет связываться обработчик к элементу на click события. Когда использовать какой?

+0

второй один используется при добавлении элементов/создается с помощью JQuery сам. btw он будет работать как для –

+0

@Anant, так что вы имеете в виду, когда добавляется добавленный элемент? – Shubham

+0

@Shubham проверить данную ссылку, вы получите правильное объяснение –

ответ

1

Так как вы можете видеть из исходного кода jquery .click - это просто вспомогательная функция. Внутри он отображает вызов на this.on(name, null, data, fn). Так что это больше удобно, чем что-либо еще, внутренне все эти функции вызовут .on.

Дополнительная информация. Вы также можете запускать эти события без каких-либо параметров, что является сокращением в этом случае if. Это вызовет событие DOM на вызываемом элементе, например, эмулируя щелчок с $button.click(), что также является сокращением для $button.trigger('click').

jQuery.each(("blur focus focusin focusout resize scroll click dblclick " + 
    "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 
    "change select submit keydown keypress keyup contextmenu").split(" "), 
    function(i, name) { 

    // Handle event binding 
    jQuery.fn[ name ] = function(data, fn) { 
     return arguments.length > 0 ? 
      this.on(name, null, data, fn) : 
      this.trigger(name); 
    }; 
}); 
1

.click() метод просто сокращение для .on («щелчок», обработчик) .Для более подробной информации вы можете увидеть эту ссылку https://api.jquery.com/click/

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