0

我想知道我是否可以同时触发这两个事件:

$("input[type=checkbox]").click(function(){
   if($(this).is(":checked"))
   {
       //Value of checkbox
       alert(this.value);
   }
});

$("input[type= 'text']").keyup(function(){
   alert(this.value);
});

我查看了 .bind,但这似乎只适用于一个选定的元素(即 .bind)$(p).bind("mouseout mouseenter).doSomething())

我遇到的情况是,我有一个功能需要在任何这些事情发生时触发。

4

5 回答 5

2

尝试

$("input[type=checkbox],input[type='text']").on('click keyup', function(){
   // code
});
于 2013-01-17T22:51:10.107 回答
0

如果您仍然需要额外的 if,您可以使用:

$("input[type=checkbox]").click(function(){
   if($(this).is(":checked"))
   {
       //Value of checkbox
       alert(this.value);
       somethingHappened();
   }
});

$("input[type= 'text']").keyup(function(){
   alert(this.value);
   somethingHappened();
});

function somethingHappened() {
   // Do stuff
}
于 2013-01-17T22:51:54.963 回答
0

有两种方法可以实现这一点,如下所示:

  1. 使用“开”方法:

    $(document).on('keyup click',"input[type=checkbox],input[type='text']", function(){
       // Do stuff here..
    })
    
  2. 事件后调用函数。

    $("input[type=checkbox]").click(doSomething);
    $("input[type= 'text']").keyup(doSomething);
    
    function doSomething() {
    
    }
    
于 2013-01-17T22:52:34.653 回答
0

也许您只需要一个通用功能?

$("input[type=checkbox]").click(function(){
   if($(this).is(":checked")) {
       special(this.value);
   }
});

$("input[type= 'text']").keyup(function(){
   special(this.value);
});

function special(val) {
   alert(val);
}
于 2013-01-17T22:55:05.667 回答
0

如果您的意图确实是在整个页面中的任何复选框/文本字段发生更改时调用一个函数,您可能想要这样的东西:

$('body').on('change', ':checkbox,:text', function () {


});

请注意,:checkboxand:text选择器比input[type=checkbox]etc更好。

于 2013-01-17T22:57:42.220 回答