2

イベントリスナーコード:

<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>

問題は、入力要素を押してページ番号を変更し、Enter キーを押すと、ページのリロード後に初めて機能することです。

私の問題は何ですか?

4

2 に答える 2

1

Dajaxiceオブジェクトについてはあまり言えませんが、これはイベントハンドラーにとってはるかに簡単なようです。

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

これはドキュメントレベルに委任されているので、入力要素がajaxに置き換えられても、機能するはずです。

于 2012-08-01T19:38:04.763 に答える
0

$(document).ready();廃止されました。を使用する必要があります$(document).on("ready", function());。また.on()、同じクラスまたは ID を持つドキュメントに追加された新しい要素に同じ関数を適用します。それを試してみてください!

于 2012-08-01T19:44:06.980 に答える