我正在使用live()函数来验证使用ajax加载的表单,因为没有它就无法工作。
以前,我的表单验证是在keyup上完成的(尽管我从未在任何地方指定过它)。现在它仅在用户单击提交按钮时才有效。是否可以返回我的onkeyup验证,并在使用live()函数时保留提交时的验证?
$(".createBtn").live('click', function() {
$("#createAcc").validate({
我正在使用以下插件进行验证。
bassistance.de/jquery-plugins/jquery-plugin-validation/
答案 0 :(得分:2)
你可以链接,正如史蒂文所说,或者你可以指定多个这样的事件:
$('.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
});
}