我有以下代码
$(document).ready(function () {
VerifyCustomerFilter();
$("#ToDateStor").on("DateSet", function () {
...
);
function VerifyCustomerFilter() {
if(toDate != "")
$("#ToDateStor").trigger('DateSet'); //This does not work
}
}
当我在函数中有条件' VerifyCustomerFilter()'是的,无法触发我创建的自定义事件。
但是当我在DatePicker的事件中触发事件时,它完美地工作:参见
$("#calTo").datepicker({
showButtonPanel: false,
onClose: function (dateText, inst) {
var ToDate = $(this).val().toString();
$('#ToDateStor').html(ToDate).trigger('DateSet'); // This works!
}
});
也已尝试使用triggerHandler()
。
我应该做错什么?
答案 0 :(得分:5)
在将侦听器绑定到元素之前触发事件,请尝试
$(document).ready(function () {
// add the listener
$("#ToDateStor").on("DateSet", function () {
...
});
// define the function
function VerifyCustomerFilter() {
if(toDate != "")
$("#ToDateStor").trigger('DateSet'); //This does not work
}
}
// call the function
VerifyCustomerFilter();
});
答案 1 :(得分:1)
$(document).ready(function () {
function VerifyCustomerFilter() {
if(toDate != "")
$("#ToDateStor").trigger('DateSet'); //This should work now
}
$("#ToDateStor").on("DateSet", function () {
...
);
//First bind the event,then call it
VerifyCustomerFilter();
}
在绑定事件之前,您正在调用该函数。