jquery點擊label觸發2次的問題

今天寫問卷的時候遇到個label點擊的時候,監聽的click事件被執行兩次;產生這個的原因么。。。事件冒泡

<div class="questionBox checkBox"><div class="title"> 2.你如何理解創新意識的重要性?</div><div class="checkBoxList" data-more="2"><label><input type="checkbox" /><span>創新意識是工作必須的</span></label><label><input type="checkbox" /><span>創新意識是工作必須的</span></label><label><input type="checkbox" /><span>創新意識是工作必須的</span></label><label><input type="checkbox" /><span>創新意識是工作必須的</span></label><label><input type="checkbox" /><span>創新意識是工作必須的</span></label></div><input type="text" class="text" placeholder="在此輸入其它的意見" /></div>
$(".checkBoxList label").click(function(){var more = $(this).parent(".checkBoxList").attr("data-more");var length = $(this).parent(".checkBoxList").find("label").length;var NowCheck=0;for(i=0;i<length;i++){if ($(this).parent(".checkBoxList").find("label").eq(i).find("input").prop("checked")==true){pass="1"NowCheck = NowCheck+1}}if(NowCheck>more){alert("本題最多選取" + more + "個")    }})

然后么找了下方法。。。

方法一:把label扔了。。。

然后方法二

只認input,判斷事件源為input(這是網上有人貼出來的解決方法)http://www.cnblogs.com/feng524822/p/4084037.html

?

/*** 是否包含某id的input后代元素* @param  {Element}  elm 要判斷的元素* @param  {String}   id  要匹配的id* @return {Boolean}*/function hasInput(elm, id) {for (var i = 0, inputs = elm.getElementsByTagName("input"), len = inputs.length; i < len; i++) {if (inputs[i].id === id) {return true;}}return false;}/*** 判斷某元素下的label是否有關聯的input* @param  {Element}  elm    要判斷的元素* @param  {Element}  label  label元素* @return {Boolean}*/function isLabelhasRelativeInput(elm, label) {if (label.getElementsByTagName("input").length) {return true;}var forT = label.getAttribute("for");var isIE6 = !-[1,] && !window.XMLHttpRequest;// IE6不支持for屬性if (forT && hasInput(elm, forT) && !isIE6) {return true;}return false;}document.getElementById("test").onclick = function(e) {var ev = e || window.event;var srcElm = ev.target || ev.srcElement;if (srcElm.tagName === 'LABEL' && isLabelhasRelativeInput(this, srcElm)) {return;}// do something;}

。。。反正我是看的有點醉了

然后方法三。。。

通過事件觸發的時間戳來判斷,其實和事件冒泡有關的問題都可以通過該方法去處理。安全無公害

1    var evTimeStamp = 0;
2     document.getElementById("test").onclick = function(e) {
3         var now = +new Date();
4         if (now - evTimeStamp < 100) {
5             return;
6         }
7         evTimeStamp = now;
8         console.log(2);
9     }

?

好了討論到最后。。。我還是吧label給扔了。。。HOHOHO

$(".checkBoxList label input").click(function(){var more = $(this).parents(".checkBoxList").attr("data-more");var length = $(this).parents(".checkBoxList").find("label").length;var NowCheck=0;for(i=0;i<length;i++){if ($(this).parents(".checkBoxList").find("label").eq(i).find("input").prop("checked")==true){pass="1"NowCheck = NowCheck+1}}if(NowCheck>more){alert("本題最多選取" + more + "個")    }})

?

?

好久好久沒有出來冒泡了~~~最近宛如海綿吸水般的吸收著知識。react也搞得風風火火!!!偶爾還客串下寫點PHP的接口。做一個商城。。。外加一個聊天室。。。好咯。。。繼續工作了,

最后祝所有端午節還在擼代碼的程序猿,事業有成

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458383.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458383.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458383.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

git本地項目管理

Git 基本工作流程 | git倉庫 | 暫存區 | 工作目錄 | | ---------------- | ------------------ | ------------------- | | 用于存放提 交記錄 | 臨時存放被修改文件 | 被Git管理的項目目錄 | Git 的使用 1.5.1 Git 使用前配置 在使用 git 前&#xff0c;需要告訴 git 你…

Python中self用法詳解

在介紹Python的self用法之前&#xff0c;先來介紹下Python中的類和實例…… 我們知道&#xff0c;面向對象最重要的概念就是類&#xff08;class&#xff09;和實例&#xff08;instance&#xff09;&#xff0c;類是抽象的模板&#xff0c;比如學生這個抽象的事物&#xff0c;…

siwft初學(一)

今天剛開始學習swift語言。首先須要下載xcode6 beta版本號。正式版本號然后會公布。自己學習總結一下&#xff0c;假設有誤。請大家指出。 創建project的時候。language選擇swift語言。 swift語言比起c&#xff0c;oc很的簡潔。開始真有點不適應&#xff0c;沒有main函數&#…

python簡單爬蟲(一)

學習python前糾結了下&#xff0c;到底是應該一個個知識點吃透&#xff0c;然后寫些小程序。還是應該快速掌握基礎語法&#xff0c;快速實踐。思考后認為前者這么學習速度真心不高&#xff0c;于是花2天時間看了下python3的語法&#xff0c;雖然很多都不明白&#xff0c;但是帶…

Github遠程倉庫管理

1. Github 在版本控制系統中&#xff0c;大約90%的操作都是在本地倉庫中進行的&#xff1a;暫存&#xff0c;提交&#xff0c;查看狀態或者歷史記錄等等。除此之外&#xff0c;如果僅僅只有你一個人在這個項目里工作&#xff0c;你永遠沒有機會需要設置一個遠程倉庫。 只有當…

oracle 中的trunc()函數及加一個月,一天,一小時,一分鐘,一秒鐘方法

返回處理后的數據&#xff0c;不同于round()&#xff08;對數值進行四舍五入處理&#xff09;&#xff0c;該函數不對指定小數前或后的數值部分進行舍入處理。 語法&#xff1a;trunc(number[,decimals]) 其中&#xff0c;number為待做處理的數值&#xff0c;decimals為需要保留…

【Halcon】Halcon與OpenCV介紹、比較

from:https://blog.csdn.net/taily_duan/article/details/514997691.MVTec HALCONMVTec HALCON 是世界上最全能的機器視覺軟件.世界各地的用戶從HALCON為快速開發圖像分析和機器視覺程序的靈活架構獲益匪淺.HALCON 提供了超過1100多種具備突出性能控制器的庫,如模糊分析,形態,模…

直接拿來用!最火的Android開源項目(完結篇)

直接拿來用&#xff01;最火的Android開源項目&#xff08;完結篇&#xff09; 2014-01-06 19:59 4785人閱讀 評論(1) 收藏 舉報 分類&#xff1a;android 高手進階教程&#xff08;100&#xff09; 摘要&#xff1a;截至目前&#xff0c;在GitHub“最受歡迎的開源項目”系…

ABP理論學習之Web API控制器(新增)

返回總目錄 本篇目錄 介紹AbpApiController基類 本地化審計日志授權工作單元其他介紹 ABP通過Abp.Web.ApiNuget包集成了 ASP.NET Web API控制器。你可以像以往創建Asp.Net Web API控制器那樣創建Web API控制器。依賴注入對于有規律的ApiController&#xff08;其實就是繼承自Ab…

C++類構造函數初始化列表及初始化成員變量的誤區

構造函數初始化列表以一個冒號開始&#xff0c;接著是以逗號分隔的數據成員列表&#xff0c;每個數據成員后面跟一個放在括號中的初始化式。例如&#xff1a;[cpp] view plaincopyclass CExample { public: int a; float b; //構造函數初始化列表 CExampl…

將centos7打造成桌面系統

前言 以下所有操作默認在root權限下執行&#xff0c;桌面環境是kde&#xff0c;使用gnome的也可以參考一下。我收集的以下要用到的一些安裝包&#xff0c;360網盤http://yunpan.cn/csMhBAp92vTgN 提取碼 92e2以下要用的安裝軟件語法&#xff1a;通過軟件源在線安裝&#xff1a;…

VC2010打開資源視圖時提示“指南必須指定類型”,.rc資源文件損壞(轉)

VC: 打開資源視圖時提示“指南必須指定類型 ”(Guideline……specify type) &#xff0c;.rc資源文件損壞 可能是TFS導致的使用記事本打開.rc文件&#xff0c;找到“DESIGNINFO”節&#xff0c;會看到如下的數據&#xff1a; BEGIN , 50 , 13798327 EN…

C++ virtual 析構函數

copy自:http://zxjgoodboy.blog.sohu.com/61482463.html 在此基礎上稍作修改C中虛析構函數的作用 我們知道&#xff0c;用C開發的時候&#xff0c;用來做基類的類的析構函數一般都是虛函數。可是&#xff0c;為什么要這樣做呢&#xff1f;下面用一個小例子來說明&#xff1a; …

(八)企業部分之nginx+tomcat+memcached負載均衡集群搭建

【server1】vim /usr/local/lnmp/tomcat/conf/context.xml<Context>......<Manager className"de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes"n1:172.25.45.1:11211,n2:172.25.45.2:11211"failoverNodes"n1"req…

泛型算法(二十三)之排列算法

1、is_permutation(ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2)&#xff1a;C11版本&#xff0c;判斷兩個序列是否為同一元素集的兩個排列。 std::vector<int> c1 {1, 2, 3, };std::vector<int> c2 {1, 2, 3, 1, 3};//判斷兩個序…

C++ 虛函數經典深入解析

from&#xff1a;https://blog.csdn.net/gggg_ggg/article/details/45915505C中的虛函數的作用主要是實現了多態的機制。 關于多態&#xff0c;簡而言之就是用父類型別的指針指向其子類的實例&#xff0c;然后通過父類的指針調用實際子類的成員函數。 這種技術可以讓父類的指針…

21OGNL與ValueStack(VS)-靜態方法訪問

轉自&#xff1a;https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 在LoginAction中增加如下方法&#xff1a;public static String getSta() { return "這是LoginAction中的靜態方法"; } 然后在loginSuc.jsp中增加如下代碼&#xff1a; 調用Action中的靜…

win7通過easyBCD引導ubuntu

我電腦配置了固態和傳統雙硬盤&#xff0c;SSD已經裝了win7&#xff0c;然后在傳統硬盤上安裝ubuntu&#xff0c;結果安裝完成后看不到ubuntu的入口。因為跟win7不是裝在一個驅動設備上&#xff0c;所以使用easyBCD的Linux&#xff0f;BCD選項也無法正確引導。最后通過easyBCD的…

深入理解C++中的explicit關鍵字

深入理解C中的explicit關鍵字kezunhaigmail.com http://blog.csdn.net/kezunhaiC中的explicit關鍵字只能用于修飾只有一個參數的構造函數, 它的作用是表明該構造函數是顯示的, 而非隱式的&#xff0c; 跟它相對應的另一個關鍵字是implicit, 意思是隱藏的,構造函數默認情況下即聲…

JAVA面試中問及HIBERNATE與 MYBATIS的對比,在這里做一下總結(轉)

hibernate以及mybatis都有過學習&#xff0c;在java面試中也被提及問道過&#xff0c;在項目實踐中也應用過&#xff0c;現在對hibernate和mybatis做一下對比&#xff0c;便于大家更好的理解和學習&#xff0c;使自己在做項目中更加得心應手。 第一方面&#xff1a;開發速度的對…