Javascript 如何使用';或';jQuery方法中的条件?
假设我有以下代码 代码01Javascript 如何使用';或';jQuery方法中的条件?,javascript,jquery,function,Javascript,Jquery,Function,假设我有以下代码 代码01 $("#abc").click(function(){ //My Code }); 代码02 $("#def").change(function(){ //My Code }); 我必须运行相同的代码#abc单击或#def更改。因此,目前我在两个地方浪费时间编写相同的代码 我知道可以重用相同的代码,创建一个公共函数并调用它。 有什么jQuery方法可以解决我的问题吗 我的意思是像下面这样的东西 (`#abc` click or `#def` cha
$("#abc").click(function(){
//My Code
});
代码02
$("#def").change(function(){
//My Code
});
我必须运行相同的代码#abc
单击或#def
更改。因此,目前我在两个地方浪费时间编写相同的代码
我知道可以重用相同的代码,创建一个公共函数并调用它。
有什么jQuery方法可以解决我的问题吗
我的意思是像下面这样的东西
(`#abc` click or `#def` change){
//Do this
}
在将函数设置为不同事件时,可以预定义函数并将其用作参数。大概是这样的:
var someEvent = function() {
// code here
});
$('#abc').on('click', someEvent);
$('#def').on('change', someEvent);
你所能做的就是
var todo = function() {
//something
}
$('#abc').click(todo);
$('#def').change(todo);
这当然是您已经想到的(我知道可以重用相同的代码,创建一个公共函数并调用它)
$(“#abc”).change(samefunction);
$(“#def”)。单击(samefunction);
函数samefunction(e){
警报(如target.id)
}
不能使用同一jQuery选择器为两个不同的选择注册两个不同的事件。这时函数就派上了用场:
function go() {
}
$('#abc').click(go);
$('#def').change(go);
只有当您的事件注册对于选择器是通用的时,才能执行此操作。您可以执行以下操作:
$("#abc , #def ").on("click change", functionname);
这会导致触发不需要的事件。您所说的“事件注册对于您的选择器来说是常见的”是什么意思?@question-if click和change对于abc和def选择器来说是常见的@ꜱᴜʀᴇꜱʜᴀᴛᴛᴀ - 这适用于常见事件处理程序。这将产生意外结果。如果有人单击
#def
或更改#abc
,会发生什么情况?您不需要两次编写相同的代码。在这种情况下使用函数。您可以按照@Milind的答案将所有内容包装在一个函数中并使用它。这是最好的解决办法。祝你好运。事实上,我是一个否决这个答案的人,因为我希望有一个答案。。。。。。