表單input項使用label,同時引用Bootstrap庫,致使input點擊效果區增大

產品姐姐想法多,點擊input項才能聚焦進行操做,點擊外部不能有反應css

好了。。。直入正題bootstrap

爲了讓標籤更加語義化,在表單項中,咱們每每會使用label進行包裹spa

<label for="label-input">
    <input type="text" class="" id="label-input"><br>
    <button>button</button>
</label>

在移動平臺頁面的開發中,爲了讓表單項的可點區域變大而更好的操做,label可提供相應的便利。code

但有時,咱們只是須要label標籤,卻不但願可點區域無端增大。而Bootstrap的引入,自動增大了可點區域對象

如上圖所示,只是但願點擊input項才產生效果,但點擊label標籤內的其餘空區域就觸發了(注意到點擊button不會觸發)blog

只是引入了Bootstrap的樣式庫事件

<link rel="stylesheet" type="text/css" href="bootstrap.min.css">

 

爲了解決,嘗試判斷事件觸發的對象。然而,無效,始終是INPUT標籤,不科學呀開發

$('#label-input').click(function(e) {
    var elem = e.target;
    console.log(elem.tagName);

    if (elem.tagName !== 'INPUT') {
        return false;
    }
})

 

這可咋辦咧get

想到了一種方法,再弄個監聽點擊label的,而後直接return false,OK~input

$('label').click(function() {
    return false;
});

$('#label-input').click(function(e) {
    var elem = e.target;
    console.log(elem.tagName);
})

相關文章
相關標籤/搜索