基本上我有以下代码:
$('selector').on('click',function(){
//Do something here
});
$('selector').click(function(){
//Does exact same thing.
});
是否可以将这些结合起来?或者我只是简单地从这两个绑定中调用函数?
如果已经回答道歉,我确实检查了建议的问题,但没有找到任何答案。
答案 0 :(得分:1)
$('selector').click()
只是$('selector').on('click')
答案 1 :(得分:1)
$('selector').on('click',function(){ //Do something here });
和
$('selector').click(function(){ //Does exact same thing.});
第二个短格式的第一个。使用任何一个。第一个建议
答案 2 :(得分:1)
据我所知,从jQuery 1.7开始,.click()
仅仅是.on('click')
的简写。如果需要,可以直接使用.on('click')
来保存函数调用。
请参阅jQuery源代码:https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js
答案 3 :(得分:-1)
您可以创建一个函数,并在两个回调中调用它:
function doSomething()
{
alert("something");
}
$('selector').on('click',function(){
// Do some stuff...
// Do what should be done by both functions
doSomething();
});
$('otherselector').click(function(){
// Do some other stuff...
// Do what should be done by both functions
doSomething();
});
根据评论进行修改
如果两个回调都应该做同样的事情,你可以将该函数作为回调传递:
function doSomething()
{
alert("something");
}
$('selector').on('click',doSomething);
$('otherselector').click(doSomething);
但在这种情况下你也可以这样做:
$("selector, otherselector").click(function()
{
alert("something");
});