第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從onclick / onchange事件獲取HTML Checkbox的價值

從onclick / onchange事件獲取HTML Checkbox的價值

慕碼人8056858 2019-11-25 10:40:41
<input type="checkbox" onclick="onClickHandler()" onchange="onChangeHandler()" />從內(nèi)部onClickHandler和/或onChangeHandler,我如何確定復(fù)選框的新狀態(tài)?
查看完整描述

3 回答

?
胡說叔叔

TA貢獻(xiàn)1804條經(jīng)驗 獲得超8個贊

簡短的答案:


使用該click事件,直到值更新后才會觸發(fā),并在您希望它觸發(fā)時觸發(fā):


<label><input type='checkbox' onclick='handleClick(this);'>Checkbox</label>


function handleClick(cb) {

  display("Clicked, new value = " + cb.checked);

}


更長的答案:


該change事件處理函數(shù)不是調(diào)用,直到checked狀態(tài)已經(jīng)更新(活生生的例子 | 源),但因為(蒂姆·布泰在評論中指出)IE不火change,直到選框失去焦點的事件,你沒有得到主動通知。更糟的是,與IE瀏覽器,如果你點擊一個標(biāo)簽的復(fù)選框(而不是復(fù)選框本身)進(jìn)行更新,你可以得到的印象是,你得到的舊值(用IE試試在這里通過點擊標(biāo)簽:活生生的例子 | 來源)。這是因為如果復(fù)選框具有焦點,則單擊標(biāo)簽會將焦點移離它,change并使用舊值觸發(fā)事件,然后單擊click設(shè)置新值并將焦點重新設(shè)置在復(fù)選框上。很混亂。


但是,如果您click改為使用,則可以避免所有這些不愉快之處。


我使用了DOM0處理程序(onxyz屬性),因為這是您所要的,但為記錄起見,我通常建議在代碼(DOM2 addEventListener或attachEventIE的較早版本)中掛接處理程序,而不要使用onxyz屬性。這樣就可以將多個處理程序附加到同一元素,并避免使所有處理程序成為全局函數(shù)。


此答案的較早版本將此代碼用于handleClick:


function handleClick(cb) {

  setTimeout(function() {

    display("Clicked, new value = " + cb.checked);

  }, 0);

}

目的似乎是讓點擊完成后再查看價值。據(jù)我所知,沒有理由這樣做,我也不知道為什么要這么做。在click調(diào)用處理程序之前,將更改該值。實際上,規(guī)范對此非常清楚。沒有setTimeout嘗試的版本在我嘗試過的每個瀏覽器(甚至是IE6)中都可以很好地運(yùn)行。我只能假設(shè)我正在考慮其他一些直到事件發(fā)生后才進(jìn)行更改的平臺。無論如何,沒有理由使用HTML復(fù)選框來做到這一點。


查看完整回答
反對 回復(fù) 2019-11-25
?
慕村9548890

TA貢獻(xiàn)1884條經(jīng)驗 獲得超4個贊

用這個


<input type="checkbox" onclick="onClickHandler()" id="box" />


<script>

function onClickHandler(){

    var chk=document.getElementById("box").value;


    //use this value


}

</script>


查看完整回答
反對 回復(fù) 2019-11-25
?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗 獲得超7個贊

對于React.js,您可以使用更具可讀性的代碼來實現(xiàn)。希望能幫助到你。


handleCheckboxChange(e) {

  console.log('value of checkbox : ', e.target.checked);

}

render() {

  return <input type="checkbox" onChange={this.handleCheckboxChange.bind(this)} />

}


查看完整回答
反對 回復(fù) 2019-11-25
  • 3 回答
  • 0 關(guān)注
  • 1603 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號