當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
使用WeUI+JS 的label包含input触发两次的问题
生活随笔
收集整理的這篇文章主要介紹了
使用WeUI+JS 的label包含input触发两次的问题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在給原生JS中的包含input標(biāo)簽的Label標(biāo)簽綁定點(diǎn)擊的事件會(huì)觸發(fā)兩次。
因?yàn)槭褂肳eUI樣式庫(kù),所以不能拋棄label標(biāo)簽,使用event.stopPropagation()似乎沒(méi)有效果,使用return false 亦沒(méi)有效果。
1.擴(kuò)展綁定事件
jQuery.WY = {bindMobileClick: function (selector, fn) {var touch = ('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch;var fName = touch ? "tap" : "click";$(selector).on(fName, function (event) {fn(this);event.preventDefault();event.stopPropagation();});} }2.WeUI 樣式表單
<label class="weui-cell weui-check__label" for="rdCpfzt_20"><div class="weui-cell__bd"><p>微膨脹</p></div><div class="weui-cell__ft"><input type="checkbox" class="weui-check" name="rdCpfzt6" value="20" data-type="6" data-name="微膨脹" id="rdCpfzt_20" ><span class="weui-icon-checked"></span></div> </label>3.綁定事件,使用時(shí)間戳限制
var evTimeStamp = 0;$.WY.bindMobileClick(".weui-check__label", function (sender) {var now = new Date();if (now - evTimeStamp < 100) {return;}var radio = $(sender).find(":radio");radio.prop("checked", function (i, val) {return !val;});var checkbox = $(sender).find(":checkbox");checkbox.prop("checked", function (i, val) {return !val;});evTimeStamp = now;});?
轉(zhuǎn)載于:https://www.cnblogs.com/sky-gfan/p/8472021.html
總結(jié)
以上是生活随笔為你收集整理的使用WeUI+JS 的label包含input触发两次的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据结构--树形结构
- 下一篇: SpringCloud(六) Hystr