0

我正在尝试在单击事件后加载富文本插件(NicEdit)。该插件有两个部分:

<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>

当我尝试按如下方式在单击事件之前加载文件时,它可以工作

$(document).ready(function() {
    $.getScript('http://js.nicedit.com/nicEdit-latest.js', function(jd) {
      // Call custom function defined in script
          bkLib.onDomLoaded(function() { nicEditors.allTextAreas()
        });
     $("a").click(function(event));
    });
});

但是,我需要它在单击事件之后加载,因此它也适用于我加载的 innerHTML 页面。

编辑

$(document).ready(function() {    
    $('a').on('click', function(ev) {
        ev.preventDefault();
        var url = $(this).attr('href');
        $.getScript("https://s3.amazonaws.com/RichText-javascript/nicEdit.js",function(){
        $('.answers').load(url);
     });//getscript ends
   });//click handler ends
});//doc ready ends

我究竟做错了什么?

4

2 回答 2

1

我希望您的实际代码中没有拼写错误,以下应该可以工作

$(document).ready(function() {    
    $('a').click(function(ev) {
        ev.preventDefault();
        var url = $(this).attr('href');
        $.getScript("http://js.nicedit.com/nicEdit-latest.js",function(){
         //you can use the loaded js script here in the callback
        $('.innerHTML').load(url, function(response){
             //load calback
        });//load ends
     });//getscript ends
   });//click handler ends
});//doc ready ends

演示

于 2012-11-13T20:39:34.400 回答
1

尝试 .on() ...它取代 .live() 并且将运行 .click() 无论何时加载代码,之前或之后。

$(parent).on("click","a", function(ev){

});

编辑——正如 RoXon 指出的那样..这只有在绑定到父母时才有效。

于 2012-11-13T20:33:41.503 回答