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>
任何找出爲什麼將不勝感激幫助。
是什麼代碼在年底? –