2011-06-18 106 views
0

我有一個複選框,這是使用onclick處理程序的樣式。需要添加另一個onClick事件

我遇到的問題是,我也想同時啓動一個div來顯示隱藏的消息。

有點像的:複選框(打勾去功能)

如果勾選展主要展出格,否則隱藏。

代碼,我是:

<span id="checkboxWrap" class="styledCheckboxWrap"><input name="include" type="checkbox" id="checkbox" onclick="setCheckboxDisplay(this)" class="styledCheckbox" /></span> 

想來也火了DIV喜歡...:

onClick="toggle('feature');" 

我可以鏈接的onclick事件到一個點擊處理程序?

即..

onclick="setCheckboxDisplay(this);toggle('feature');" 

還是我轉圈圈。

+0

你試過了嗎? –

+0

是的,你可以做到這一點。 –

+0

你知道我沒有嘗試過它,哈哈,我只是把它作爲一個例子......會給它一個旋轉 – 422

回答

4

理想情況下,你應該嘗試開始使用unobstrusive javascript這基本上意味着您通過將您的JavaScript內部<script>標記或到一個單獨的文件中的結構與功能分開。所以你的代碼看起來像這樣並且使它更易於閱讀。

HTML

<span id="checkboxWrap" class="styledCheckboxWrap"> 
    <input name="include" type="checkbox" id="checkbox" class="styledCheckbox" /> 
</span> 

腳本

<script> 
$(function(){ 
    $('.styledCheckbox').click(function(){ 
    setCheckboxDisplay(this); 
    toggle('feature'); 
    }); 
}); 
</script> 
+0

+1,這裏最好的答案。 – stefgosselin

2

是的,只要用分號分隔,就可以調用onclick屬性中的多個語句。儘管如此,我通常會定義一個新的函數來將兩者合併爲一個調用。

1

就委託這做所有工作的功能...

// Somewhere in the head of the file... 
function doOnClickStuff(target) { 
    toggle('feature'); 
    setCheckboxDisplay(target); 
} 

然後纔有的onClick處理程序調用該...

onClick="doOnClickStuff(target);" 
5

使用事件偵聽器。無論如何,它們都更好。 :)

var check = document.getElementById('checkbox'); 

check.addEventListener('click', function() { 
    setCheckboxDisplay(this); 
}); 

check.addEventListener('click', function() { 
    toggle('feature'); 
}); 
相關問題