5 回答

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
$(".num-btn").on("touchstart","span",function(event){
var target = $(event.target);
if(target.hasClass("icon-one")){
layer.open({
title:'請(qǐng)說(shuō)出保單號(hào)',
shadeClose: false,
style: 'width:5rem;border:none;background:linear-gradient(to right bottom,#f14f63,#7889fb);color:#fff;',
content:$("#saying").html(),
btn:['確認(rèn)'],
yes:function(index){
layer.close(index)
},
})
}else if(target.hasClass("icon-two")){
layer.open({
title:'請(qǐng)說(shuō)出身份證號(hào)',
shadeClose: false,
style: 'width:5rem;border:none;background:linear-gradient(to right bottom,#f14f63,#7889fb);color:#fff;',
content:$("#saying").html(),
btn:'確認(rèn)提交',
yes:function(index){
layer.close(index)
},
})
}
})

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
具體邏輯沒(méi)看,但if($(".icon-one"))
這種寫(xiě)法肯定是不對(duì)的,因?yàn)?code>$(".icon-one")返回的是個(gè)jQ對(duì)象,自動(dòng)轉(zhuǎn)換為true
,這樣上邊的分支實(shí)際就變成常通了。
這種一般是要在事件回調(diào)中用到$(this)
,這個(gè)是jQ對(duì)e.target
的一個(gè)封裝(相當(dāng)于$(e.target)
),它返回的是jQ封裝的事件被觸發(fā)的那個(gè)DOM對(duì)象,而判斷是否包含一個(gè)類,則可以用.is()
這個(gè)API。簡(jiǎn)而言之,寫(xiě)成if ( $(this).children().is(".icon-one") )
吧。

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
判斷事件觸發(fā)的元素上的class是否為指定的class
在你代碼的這個(gè)地方
if($(".icon-one")){

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
判斷條件改為:
if($(this).children('span')===$('.icon-one')){
...
}

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
隨便寫(xiě)一個(gè)吧。也不知道這樣是不是你的意思:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<button class="button A">button A</button>
<button class="button B">button B</button>
<button class="button C">button C</button>
<script src="jquery.js"></script>
<script>
$('body').on('click', '.button', function () {
var _this = $(this);
if (_this.hasClass('A')) {
alert('click A');
} else if (_this.hasClass('B')) {
alert('click B');
} else if (_this.hasClass('C')) {
alert('click C');
}
});
</script>
</body>
</html>
添加回答
舉報(bào)