主頁 > 知識庫 > 用DIV遮罩解決鼠標(biāo)直接勾選checkbox無效的問題

用DIV遮罩解決鼠標(biāo)直接勾選checkbox無效的問題

熱門標(biāo)簽:經(jīng)綸電銷機(jī)器人 鄒城智能外呼系統(tǒng) 浦東新區(qū)百度地圖標(biāo)注圖片 華為收費(fèi)站地圖標(biāo)注 巫山縣地圖標(biāo)注app 電話機(jī)器人宣傳片 外呼智能系統(tǒng)報價 騰訊植物園地圖標(biāo)注 個貸電銷機(jī)器人
在前端開發(fā)的過程中,遇到一種情況,需要勾選,為了用戶的操作便捷就將click事件放到了DIV上。(其中使用了knockout.js)

代碼大概如下:

復(fù)制代碼
代碼如下:

<div id="one" data-biind="click:clickevent">
<input type="checkbox"><span>有事請勾我</span>
</div>

但是這樣寫出現(xiàn)了一個奇怪的現(xiàn)象,鼠標(biāo)點(diǎn)擊div一切正常。

但鼠標(biāo)直接勾選checkbox不正常:

checkbox處于未勾選狀態(tài),鼠標(biāo)直接點(diǎn)擊checkbox勾選,此時應(yīng)該實(shí)現(xiàn)是:1、執(zhí)行div的clickevent事件;2、事件執(zhí)行完畢后,checkbox處于勾選狀態(tài)。

但最終的結(jié)果卻是,checkbox仍然處于未勾選狀態(tài)。

跟蹤調(diào)試結(jié)果是,在執(zhí)行完clickevent事件時,checkbox還是處于勾選狀態(tài),但clickevent執(zhí)行完后,接著進(jìn)入jquery的代碼執(zhí)行,走了兩三步后,checkbox即被改成未選中狀態(tài)。

原因至今未查到。(另外一個地方使用的radiobox也有類似的情況)

沒辦法,只能變通一下,通過在checkbox上面覆蓋一層div,讓鼠標(biāo)點(diǎn)擊的時候點(diǎn)的是div而不是checkbox,通過clickevent改變checkbox狀態(tài)(clickevent事件中本來就有改變checkbox狀態(tài)的代碼)

實(shí)現(xiàn)如下:

復(fù)制代碼
代碼如下:

<div id="one">
<div id="two" data-bind="click:clickevent"></div>
<div id="three">
<input type="checkbox"/> <span>有事請勾我</span>
</div>
</div>

ID為two和three的兩個div,設(shè)置時關(guān)鍵是需要設(shè)置兩個屬性:position:absolute; z-index:1;

其中上面那層的div的z-index屬性要比在下面那層的div大。

以上DIV的ID屬性只是為了說明,一般程序中使用class屬性設(shè)置。

標(biāo)簽:那曲 滁州 廣西 日喀則 楊凌 三沙 唐山 南平

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用DIV遮罩解決鼠標(biāo)直接勾選checkbox無效的問題》,本文關(guān)鍵詞  用,DIV,遮罩,解決,鼠標(biāo),直接,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《用DIV遮罩解決鼠標(biāo)直接勾選checkbox無效的問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于用DIV遮罩解決鼠標(biāo)直接勾選checkbox無效的問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章