jquery live()keyup并单击

时间:2012-09-21 14:53:07

标签: javascript jquery

我正在使用live()函数来验证使用ajax加载的表单,因为没有它就无法工作。

以前,我的表单验证是在keyup上完成的(尽管我从未在任何地方指定过它)。现在它仅在用户单击提交按钮时才有效。是否可以返回我的onkeyup验证,并在使用live()函数时保留提交时的验证?

$(".createBtn").live('click', function() {
$("#createAcc").validate({

我正在使用以下插件进行验证。

bassistance.de/jquery-plugins/jquery-plugin-validation/

4 个答案:

答案 0 :(得分:2)

你可以链接,正如史蒂文所说,或者你可以指定多个这样的事件:

http://jsfiddle.net/gLWRs/1/

$('.createBtn').on({
  click: myFn,
  keyup: myFn    
});​

这也适用于live

重新阅读你的问题,你可能需要这样的事情,因为事件将发生在不同的元素上:

$('.createBtn').on({ click: myFn });
$('input').on({ keyup: myFn });

答案 1 :(得分:1)

您可以使用您的函数并将其设置为变量,如下所示:

var myFn = function() { ... };

然后你可以用两个事件处理程序注册该函数。

$(".createBtn").on('click', myFn).on('keyup', myFn);

答案 2 :(得分:1)

您可以将多个事件绑定到同一个元素。试试这个

$(".createBtn").live('click keyup', function() {

    yourFunctionCall();
});

从最新的jQuery版本开始,不推荐使用 .live()

我建议使用 .on()代替..

答案 3 :(得分:0)

您可以将验证初始化添加到从document.ready上的服务器获取的html源代码中 有些人喜欢:

if(isAjax)
{
    $(function() {
       // Init you validation
    });
}