国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

用DIV遮罩解決鼠標直接勾選checkbox無效的問題

2019-10-26 17:16:51
字體:
來源:轉載
供稿:網友
在前端開發的過程中,遇到一種情況,需要勾選,為了用戶的操作便捷就將click事件放到了DIV上。(其中使用了knockout.js)

代碼大概如下:

復制代碼
代碼如下:
<div id="one" data-biind="click:clickevent">
<input type="checkbox"><span>有事請勾我</span>
</div>

但是這樣寫出現了一個奇怪的現象,鼠標點擊div一切正常。

但鼠標直接勾選checkbox不正常:

checkbox處于未勾選狀態,鼠標直接點擊checkbox勾選,此時應該實現是:1、執行div的clickevent事件;2、事件執行完畢后,checkbox處于勾選狀態。

但最終的結果卻是,checkbox仍然處于未勾選狀態。

跟蹤調試結果是,在執行完clickevent事件時,checkbox還是處于勾選狀態,但clickevent執行完后,接著進入jquery的代碼執行,走了兩三步后,checkbox即被改成未選中狀態。

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

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

實現如下:

復制代碼
代碼如下:
<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,設置時關鍵是需要設置兩個屬性:position:absolute; z-index:1;

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

以上DIV的ID屬性只是為了說明,一般程序中使用class屬性設置。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 海宁市| 察哈| 合肥市| 泸溪县| 新疆| 西吉县| 平泉县| 衡阳市| 海晏县| 磐石市| 会宁县| 调兵山市| 剑阁县| 长宁县| 孝昌县| 偃师市| 安吉县| 石泉县| 雷州市| 沁源县| 松原市| 长海县| 鸡泽县| 仙桃市| 瓮安县| 玉环县| 陆丰市| 平塘县| 眉山市| 福海县| 大同县| 嘉祥县| 彰化县| 浦城县| 长丰县| 乌拉特前旗| 南宁市| 资讯 | 辽中县| 虎林市| 洛隆县|