佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 用DIV遮罩解決鼠標(biāo)直接勾選checkbox無(wú)效的問題

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

熱門標(biāo)簽:使用U盤裝系統(tǒng) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 硅谷的囚徒呼叫中心 阿里云 檢查注冊(cè)表項(xiàng) 網(wǎng)站建設(shè) 智能手機(jī) 美圖手機(jī)
在前端開發(fā)的過程中,遇到一種情況,需要勾選,為了用戶的操作便捷就將click事件放到了DIV上。(其中使用了knockout.js)

代碼大概如下:

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

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

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

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

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

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

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

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

沒辦法,只能變通一下,通過在checkbox上面覆蓋一層div,讓鼠標(biāo)點(diǎn)擊的時(shí)候點(diǎn)的是div而不是checkbox,通過clickevent改變checkbox狀態(tài)(clickevent事件中本來(lái)就有改變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>有事請(qǐng)勾我</span>
</div>
</div>

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

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

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

標(biāo)簽:賀州 通遼 黃山 湖北 煙臺(tái) 湘潭 懷化 山南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用DIV遮罩解決鼠標(biāo)直接勾選checkbox無(wú)效的問題》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    都安| 光泽县| 绥中县| 陆河县| 思茅市| 石河子市| 临武县| 新化县| 临邑县| 敦煌市| 沙坪坝区| 兰溪市| 酉阳| 呼和浩特市| 千阳县| 吉林省| 华宁县| 志丹县| 锡林浩特市| 宁强县| 容城县| 和政县| 文安县| 太仆寺旗| 平阴县| 吴江市| 抚远县| 苍山县| 通城县| 封开县| 当阳市| 昂仁县| 唐河县| 东海县| 塔城市| 田阳县| 泰来县| 保康县| 保山市| 喀喇沁旗| 兴山县|