我试图在点击事件后加载一个富文本插件(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));
});
});
但是,我需要在click事件之后加载它,因此它也应用于我加载的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
我做错了什么?
答案 0 :(得分:1)
尝试.on()...取代.live()并运行.click(),无论代码是在何时加载,之前或之后。
$(parent).on("click","a", function(ev){
});
编辑 - 正如RoXon指出的那样..只有在绑定到父级时才会起作用。
答案 1 :(得分: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