0
不要问为什么;我只需要这样做:-)jQuery - 动态设置的onclick事件只适用于Firefox
我有下面的代码动态填充已经有一个css按钮的div。该过程中该按钮的属性会动态更改。它工作正常,在FF,而不是IE或Chrome:
<div id="home_panel_text" class="divNextClass"></div>
<div id="home_panel_bottom">
<a class="aViewNextClass" id="" href="##"><span>View</span></a>
</div>
function loadNextClass() {
var v_object_type = "ajax";
var v_onclick = 'return hs.expand(this)';
var v_onclick2 = 'return hs.htmlExpand(this,{objectType:"ajax"})';
var x = '<table border="0" cellspacing="0" cellpadding="3">';
$.getJSON("/components/system.cfc?method=getNextClass&returnformat=json&queryformat=column",{},function(res,code) {
if(res.ROWCOUNT == 1){
x += '<tr><td><strong>Class</strong></td><td>' + res.DATA.TITLE + '</td></tr>'
x += '<tr><td nowrap><strong>When</strong></td><td>' + res.DATA.STARTDATE + ' ' + res.DATA.STARTTIME + '-' + res.DATA.ENDTIME + '</td></tr>'
x += '<tr><td nowrap><strong>Cost</strong></td><td>$' + res.DATA.PRICE + '</td></tr>';
$('.aViewNextClass').attr({
"id":res.DATA.STOREITEMID,
"href":"class_detail.cfm?id=" + res.DATA.STOREITEMID,
"onclick":v_onclick2
}).addClass('highslide');
}else{
x += '<tr><td colspan="2">No classes found</td></tr>';
}
x += '</table>'
$('.divNextClass').html(x);
});
}
$(function() {
loadNextClass();
})
在Chrome中所产生的按钮链接看起来是这样的:
<a class="aViewNextClass highslide" id="14" href="class_detail.cfm?id=14"><span>View</span></a>
即它缺少highslide onclick属性。
在FF,链接看起来不错:
<a href="class_detail.cfm?id=14" id="14" class="aViewNextClass highslide " onclick="return hs.htmlExpand(this,{objectType:"ajax"})"><span>View</span></a>
任何找出为什么将不胜感激帮助。
是什么代码在年底? –