为多个元素组合 jQuery 事件侦听器

Combining jQuery event listeners for multiple elements

本文关键字:jQuery 事件 侦听器 组合 元素      更新时间:2023-09-26

如何将以下内容组合成两个事件侦听器?

  $(document).on "focus", "input", (e) ->
    $element.addClass "class-name"
  $(document).on "blur", "input", (e) ->
    $element.removeClass "class-name"
  $(document).on "focus", "textarea", (e) ->
    $element.addClass "class-name"
  $(document).on "blur", "textarea", (e) ->
    $element.removeClass "class-name"

尝试以下代码:

 $("textarea").on("blur focus", function(event){
     if ($(this).hasClass('active')) {
         $(this).removeClass("active");
     }
     else {
         $(this).addClass('active');
     } 
 })
 $("input").on("blur focus", function(event){
     if ($(this).hasClass('active')) {
         $(this).removeClass("active");
     }
     else {
         $(this).addClass('active');
     } 
 })

无需 IDE 即可完成,但这就是组合事件的方式。.on() 方法的第一个参数允许您列出事件(不确定它的数量是否有限,但我还没有遇到任何问题。