2011-12-01 71 views
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:&quot;ajax&quot;})"><span>View</span></a> 

任何找出爲什麼將不勝感激幫助。

+0

是什麼代碼在年底? –

回答

1

更改此:

$('.aViewNextClass').attr({ 
        "id":res.DATA.STOREITEMID, 
        "href":"class_detail.cfm?id=" + res.DATA.STOREITEMID, 
        "onclick":v_onclick2 
       }).addClass('highslide'); 

這樣:

$('.aViewNextClass').attr({ 
        "id":res.DATA.STOREITEMID, 
        "href":"class_detail.cfm?id=" + res.DATA.STOREITEMID 
       }).addClass('highslide').click(v_onclick2)