javascript - Js - 事件监听器在页面重新加载后只工作一次

标签 javascript jquery

事件监听器代码:

<script type="text/javascript">
    $(document).ready(function(){
        document.getElementById("pagenumber").addEventListener( "keydown", function( e ) {
        var keyCode = e.keyCode || e.which;

        if ( keyCode === 13 ) {
            Dajaxice.gallery.gallerypages(Dajax.process, {'p': document.getElementById('pagenumber').value })
        }}, false);

    });
</script>

问题是当我按下输入元素时,更改页码并按下回车键,它仅在页面重新加载后的第一次有效。

我的问题是什么?

最佳答案

不能对 Dajaxice 对象说太多,但这对于事件处理程序来说似乎容易得多:

$(document).ready(function(){
    $(document).on("keydown", "#pagenumber", function(e) {
        if ( e.which === 13 ) {
             Dajaxice.gallery.gallerypages(Dajax.process, {'p': this.value });
        }
    });
});

这是委托(delegate)给文档级别的,所以如果输入元素被 ajax 替换,它应该仍然有效?

关于javascript - Js - 事件监听器在页面重新加载后只工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11766205/

相关文章:

javascript - jquery 克隆不创建唯一对象

jquery - 在 jquery select2 中标记文本

jquery - 在 Slick 网格上快速过滤

javascript - 为什么我的插入不起作用?

javascript - 如何获取元素节点列表

jquery - 如何使用 javascript 更改页面方向?

javascript - 如何触发功能?

javascript - 顺序执行axios请求;如果失败尝试数组中的下一个 url,如果成功退出

javascript - 添加后选择一行

jquery - 如何以编程方式更改 WordPress 上传文件夹?