请告诉我这个脚本有什么问题:
$("#mydiv").click(function()
{
console.log("something");
}, function()
{
console.log("something");
});
它不会成为第二个console
。
由于
答案 0 :(得分:4)
click
只需要一个功能。你对第二个功能的期望是什么?
要在第一个函数之后运行第二个函数,只需将它放在第一个函数的末尾即可。如果第一个函数异步执行某些操作,那么您需要将第二个函数作为第一个函数的回调附加。
$('#mydiv').click(function () {
console.log('first something');
console.log('second something');
});
或者可能喜欢:
$('#mydiv').click(function () {
$(this).fadeOut(function () {
console.log('second something');
});
});
答案 1 :(得分:2)
您可以将两个函数编写为实际函数,然后从匿名函数中按顺序调用每个函数。像这样:
function a()
{
console.log("something");
}
function b()
{
console.log("something");
}
$("#id").click(function(){
a();
b();
});
答案 2 :(得分:1)
我认为你不能在这样的一个事件上绑定两个函数。除非它是专为它设计的,例如悬停。
答案 3 :(得分:1)
如上所述,click
只需要一个处理程序。我想你需要调用它两次:
$("#mydiv").click(function()
{
console.log("something 1");
});
$("#mydiv").click(function()
{
console.log("something 2");
});
答案 4 :(得分:0)
此处没有任何内容可以执行第二个匿名(未命名)函数。
编辑:如果你想要的是绑定“点击”的两个动作你可以绑定.mousedown和.mouseup函数而不是单元.click
EDIT2:基于注释,生成一个私有的执行函数序列:
$('#mybutton').click(function(){
var one = function(){
alert('one');
};
var two= function(){
alert('two');
};
one();
two();
});
要查看此操作,请访问:http://jsfiddle.net/R7aT3/