2013-10-31 69 views
4

有輸入元素的網站我的工作與傳統的onclick功能:將一個HTML屬性onClick函數與一個jQuery On函數結合起來?

<input name="input_41" type="radio" value="76" id="choice_41_1" onclick="gf_apply_rules(5,[6,7,8]);"> 

不幸的是,我不能更改或直接修改遺留代碼。

我也試圖更新網站,並使表單元素更漂亮與額外的CSS和JS。我用來處理無線電元素的一個新功能是使用jQuery On()函數。此功能運行良好,但似乎覆蓋現有的onclick功能gf_apply_rules()。這裏是jQuery的示例:

$(document).on('click.radio.data-api', '[data-toggle^=radio], .radio', function (e) { 
    var $radio = $(e.target); 
    e && e.preventDefault() && e.stopPropagation(); 
    if (!$radio.hasClass('radio')) $radio = $radio.closest('.radio'); 
    $radio.find(':radio').radio('toggle'); 
}); 

反正我有可以保留現有的HTML指定的onclick函數On()射擊?

+0

我知道你可以在onclick上做多個功能。你可以像這樣'onclick =「css(),On()」'來格式化它,儘管我從來沒有親自嘗試CSS更改和jQuery函數。 – usernolongerregistered

+0

啊,我應該提到我需要避免改變遺留代碼。 – jnthnclrk

+0

哦,我明白了。所以你希望HTML保持不變,但也想調用jQuery函數onclick? – usernolongerregistered

回答

6

e.preventDefault()將阻止原始(舊)onclick處理程序。您是否嘗試刪除該行以查看是否有兩個事件處理程序被調用。 。 。 ?

+0

就是這樣。無需組合,根據您的建議解決'e.preventDefault()'註釋並保留我的遺留代碼。 – jnthnclrk

+0

太好了。我會採取一些'接受的答案'點,以便我可以最終失去他們下次我討厭在未來的Internet Explorer CSS渲染問題在Stackoverflow :) –

+1

哈哈,好運氣呢? – jnthnclrk

相關問題