使用jquery以编程方式触发事件

时间:2013-11-21 10:41:05

标签: jquery events eventtrigger

我有一个输入元素,它附加了一个按键事件处理程序:

// 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。我怎么能抓住这些事件呢?

0 个答案:

没有答案