2012-01-03 4 views
1

이 내 코드입니다 : 그것을 실행 한 후jQuery를 - - 후() 함수의 화재를 두 번

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

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

}); 

, "테스트"2 명 div의 내가 놓친 게 무엇 1.

대신 추가됩니다 ?

$.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; 
    }); 
}; 

가 사전에 감사합니다

이는 CTRL 기능입니다.

인사말

편집 :

어쩌면이 함께 할 수있는 뭔가가 : 나는 비슷한 문제를 했어

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


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

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

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

잘 작동하는 것 같습니다. http://jsfiddle.net/6RPhs/. – pimvdb

+0

'$ .ctrl'을 두 번 호출하지 않도록하십시오. 그것은 당신이 묘사하고있는 행동을 유도 할 수 있습니다. – cheeken

+0

이상합니다. 어쩌면 $ ("#"+ currentId)를 사용할 수 있습니다. 나는 원산지 게시에서 편집 중입니다. – user1126272

답변

1

합니다. 이전 jquery 버전을 사용하고 있습니까?

주요 버그 수정 JQuery와 1.4.4 에 - 지금 한 번 발사 할 문서 준비 이벤트에 바인딩 함수 (IT 두 번 발사되었다). 당신은 아마 당신의 HTML 코드에서 jQuery를 두 번 포함하고

What’s New in JQuery 1.4.4

1

. 좋아요 :

<script type="text/javascript" src="/scripts/jquery.min.js"></script> 
<script type="text/javascript" src="/scripts/jquery.min.js"></script>