Javascript 使用jquery append时onload不起作用
当元素通过ajax加载并附加到DOM时,我需要启动脚本 这里是HTMLJavascript 使用jquery append时onload不起作用,javascript,jquery,append,onload,Javascript,Jquery,Append,Onload,当元素通过ajax加载并附加到DOM时,我需要启动脚本 这里是HTML <div id="one"> <p>one</p> <button>Append</button> </div> 一个 追加 这里是javascript $('button').on('click', function(){ //in real life s is loaded via ajax var s="<p onloa
<div id="one">
<p>one</p>
<button>Append</button>
</div>
一个
追加
这里是javascript
$('button').on('click', function(){
//in real life s is loaded via ajax
var s="<p onload='myalert();'>two</p>";
$('#one').append(s);
})
function myalert() {
alert('ok');
}
$('button')。在('click',function()上{
//在现实生活中,s是通过ajax加载的
var s=“
警报永远不会发出。如何在元素完全加载时捕获事件
这里有一个codepen沙盒供您使用:您不能在那里使用
onload
事件。为什么不在事件处理程序的末尾添加alert
语句呢
$('button').on('click', function(){
//in real life s is loaded via ajax
var s="<p>two</p>";
$('#one').append(s);
alert('ok');
})
$('button')。在('click',function()上{
//在现实生活中,s是通过ajax加载的
var s=“two”;
$('一')。追加;
警报(“正常”);
})
试试这个
$('button').on('click', function(){
//in real life s is loaded via ajax
var s="<p id='twoP' >two</p>";
$('#one').append(s).ready(function(){
alert('ok');
});
})
$('button')。在('click',function()上{
//在现实生活中,s是通过ajax加载的
var s=“two
”;
$('#one').append(s).ready(function(){
警报(“正常”);
});
})
这将加载元素,然后将触发回拨我试图解决您的问题。
所以我找到了解决你问题的方法。
这是我的密码
$('button')。在('click',function()上{
//在现实生活中,s是通过ajax加载的
var s=“two”;
$('#one').append(s).ready(function(){
警报(“正常”);
});
})
一个
追加
因为任务有点复杂。我需要读取加载了append的图像的宽度。它是0,因为append语句之后还没有加载图像。以下是更新的脚本部分: