如何用jquery处理两个不相关的事件
How to handle two unrelated events with jquery
我想知道我是否可以同时触发这两个事件:
$("input[type=checkbox]").click(function(){
if($(this).is(":checked"))
{
//Value of checkbox
alert(this.value);
}
});
和
$("input[type= 'text']").keyup(function(){
alert(this.value);
});
我查看了.bind,但这似乎只适用于一个选定的元素(即$(p).bind("mouseout mouseenter).doSomething())
.
我遇到的情况是,我有一个函数,需要在发生这些事情中的任何一个时触发。
Try
$("input[type=checkbox],input[type='text']").on('click keyup', function(){
// code
});
有两种方法可以实现,如下所示:
-
using "on" method:
$(document).on('keyup click',"input[type=checkbox],input[type='text']", function(){ // Do stuff here.. })
-
事件后调用函数。
$("input[type=checkbox]").click(doSomething); $("input[type= 'text']").keyup(doSomething); function doSomething() { }
如果您仍然需要额外的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
}
也许你只需要一个通用的函数?
$("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);
}
如果你真的想在整个页面的复选框/文本字段发生变化时调用一个函数,你可能想要这样的东西:
$('body').on('change', ':checkbox,:text', function () {
});
注意:checkbox
和:text
选择器比input[type=checkbox]
等要好得多。
相关文章:
- 我可以'我似乎不知道如何修复javascript中的两个lint.有人能帮我理解吗
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 在ES6中,模块将导致多个网络调用,因为两个模块不能在单个文件中定义
- 同一事物的两个函数,一个崩溃,另一个不崩溃,为什么
- 如何添加两个变量而不使其在javascript中连接
- 如何让两个不相关的 React 组件一起工作
- D3 - 在两个不与其他对象相交的对象之间绘制一条线
- D3 map - 将两个不相交的 SVG 多边形路径合并为一个路径
- 如何检查两个不可变JS映射是否具有相同的键
- 如何将两个不相关的元素粘在一起
- 两个不可变的列表 - 如何使三重平等工作
- 一个jQuery工作,两个不工作
- 一个JavaScript函数运行,但两个不运行
- Javascript加载了两个不返回数据的函数
- Node.js和MySQL - 2个不相关的查询到同一个页面
- 我想知道如何创建两个不受相同代码影响的可搜索表
- 如何找到两个相同的行,并删除他们两个?(不只是一个副本!)
- 两个不相互作用的多层复选框系统
- 如何区分两个不可变对象
- 如何用jquery处理两个不相关的事件