1

これは私のコードスニペットです:

$.ctrl('J', function() {

    $("#"+currentId).after('<div contentEditable="true">test</div>'); 

});

実行後、「test」の div が 1 つではなく 2 つ追加されます。

私は何が欠けていますか?

これは CTRL 機能です。

$.ctrl = function(key, callback, args) {

    var isCtrl = false;

    $(document).keydown(function(e) {
        if (!args) args = [];
        if (e.ctrlKey) isCtrl = true;
        if (e.keyCode == key.charCodeAt(0) && isCtrl) {
            callback.apply(this, args);
            return false;
        }
    }).keyup(function(e) {
        if (e.ctrlKey) isCtrl = false;
    });
};

前もって感謝します。

ご挨拶

編集:

多分それはこれと関係があります:

$('div[id|="edid"]').focus(function() {


       $('div[id|="edid"]').removeClass('onFocus'); 

       $(this).addClass('onFocus'); 

       var currentId = $(this).attr('id');
});
4

2 に答える 2

1

私も同様の問題を抱えています。古いjqueryバージョンを使用している可能性がありますか?

JQuery 1.4.4の主なバグ修正-ドキュメント準備完了イベントにバインドされた関数が1回起動するようになりました(2回起動していました)。

JQuery1.4.4の新機能

于 2012-02-24T15:03:16.720 に答える
1

HTMLコードにjQueryを2回含めている可能性があります。このような:

<script type="text/javascript" src="/scripts/jquery.min.js"></script>
<script type="text/javascript" src="/scripts/jquery.min.js"></script>
于 2012-06-27T04:46:17.337 に答える