如何使用多个事件调用相同的代码?

时间:2011-06-13 15:48:16

标签: jquery

我有以下代码..

$("#input_name").blur(function(){
  //more code
});

它工作正常,但现在我需要通过单击按钮来调用与上面的模糊功能相同的功能。基本上,我想保持模糊,并添加onclick。任何想法我该怎么做? 感谢

3 个答案:

答案 0 :(得分:7)

你可以这样做:

$("#input_name").bind("blur click", function() { ... });

您还可以将功能定义与绑定分开:

function handler() { ... }

$('#input_name').blur(handler).click(handler);

请记住,jQuery会将事件传递给处理函数,您可以检查事件类型:

function handler(ev) {
  if (ev.type === 'click') { ... }

答案 1 :(得分:1)

将您的函数定义更改为不内联,然后重复使用。

function eventFunction(){
    //more code
}

$('#input_name').blur(eventFunction);
$('#button_name').click(eventFunction);

答案 2 :(得分:0)

在函数中放置“// more code”:

function more_code() {
    //more code
}

并从处理程序中调用它:

$("#input_name").blur(more_code)