onload是一个事件,要执行后面的function需要载入完毕才行,所以当一面执行到
alert(imgH)//此处不知道为何,返回"undefined"时图片对象imgObj还没有加载完,所以想弹出"undefined",
等到imgObj加载完的时候,触发onload事件,并执行onload绑定的函数,该函数执行之后imgH被赋值了,所以后面又弹出一个具有height值警告框。
alert(imgH)//此处能够得到数值把document.writeln放到onsuccess里面去就好了。因为是异步调用,也就是你的openlink还没有执行完,就已经把writeln执行完了
而你加一个alert之后是正常的,原因是你点alert的时候,已经将异步调用执行完了,alert和writeln是顺序执行的,alert不关,是不执行writeln的。
sk.openLink({
url: APPNAME + '/business/infomation/stpLogView.action',
params : {'logid':logid},
scope : this,
onSuccess : function(rs){
code=rs.data.msgCode chtime=rs.data.charterTime
document.writeln(code)
} })
初步怀疑你的删除事件绑定有问题:新加入的DOM元素未绑定到事件。这种情况应该使用事件委派来做,你用 jQuery 吗?假设你的购物车列表的 HTML 结构如下:
<ul id="cartList"><li>
购物车商品1
<button>删除</button>
</li>
<li>
购物车商品2
<button>删除</button>
</li>
……
</ul>
则删除购物车商品的代码为(用了 jQuery):
$('#cartList').on('click', 'button', function() { // 委派 button 的点击事件$(this).parent().remove() // 移除购物车里当前商品
})