我有一个输入元素,它附加了一个按键事件处理程序:
// ASSIGN ENTER KEYPRESS TO PAGE SELECTOR
$(document).on('keypress', '.list-ui-page-selector', turnPage);
用户在输入中输入一个数字并按ENTER键。 turnPage()函数检查按下的键是什么。如果是ENTER,则启动ajax请求:
function turnPage(event){
if(event.which != 13) return;
var page = $(this).val();
var unique = $(this).attr('id').replace(/[^\d.]/g,'');
animateTableUpdating(unique);
ajaxRequest(unique, null, null, page);
}// turnPage
这可以正常工作,但我想要一些按钮可以增加和减少输入字段中的数值。当我增加或减少值时,我触发一个ENTER按键事件:
// PAGE SCROLLING BUTTONS
$(document).on('click', ".list-ui-next-page", function(){
var unique = $(this).attr('id').match(/\d{8}/gi);
var page = parseInt($("#list-ui-page-selector\\["+unique+"\\]").val());
var page_total = parseInt($("#list-ui-page-total\\["+unique+"\\]").val());
if(page < page_total){
page++;
$("#list-ui-page-selector\\["+unique+"\\]").val(page);
var e = jQuery.Event("keydown");
e.which = 13;
e.keyCode = 13;
$("#list-ui-page-selector\\["+unique+"\\]").trigger(e);
}
});
问题是程序触发的事件不是由$(document).on('keypress','。list-ui-page-selector',turnPage)处理的;并且不调用turnPage。我怎么能抓住这些事件呢?