1

这是我的代码片段:

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

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

});

运行后,将添加 2 个带有“test”的 div 而不是 1 个。

我错过了什么?

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

您可能在 HTML 代码中包含 jQuery 两次。像这样:

<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 回答
1

我有一个类似的问题。可能您使用的是旧的 jquery 版本?

JQuery 1.4.4 中的主要错误修复 - 绑定到文档就绪事件的函数现在将触发一次(它触发了两次)。

JQuery 1.4.4 中的新功能

于 2012-02-24T15:03:16.720 回答