2016-11-04 17 views
0

多個單選按鈕這工作時,我點擊我的呈白色空間(與.search形式爲類我的整個形式的)Mousdedown在形式

<form name="form" method="POST" action="/api/search.php" class="search-form" id="search-form"> 
    <input type="radio" name="role" data-role="wanted_specialty" value="1" class="radio-btn"><span class="overlay"></span> 1</label> 
    <input type="radio" name="role" data-role="wanted_specialty" value="2" class="radio-btn"><span class="overlay"></span> 2</label> 
    <input type="radio" name="role" data-role="wanted_specialty" value="3" class="radio-btn"><span class="overlay"></span> 3</label> 
</form> 




var form = document.querySelector('.search-form'); 
    form.addEventListener('mousedown',function(e){ 
    // DO SOMETHING 
    }); 

但它不工作時除了「.search-form」之外,我使用完全相同的代碼,然後由所有單選按鈕的類改變。

我該如何做到這一點,因此,只要點擊了任何單選按鈕(或未點擊),「DO SOMETHING」就能發揮作用。它應該是一個帶有單選按鈕的過濾系統,可以實時更新數據庫中有多少結果。

+1

' - 閱讀進度 - ()'只能在一個時間的單個元件上使用。您必須遍歷結果並將事件偵聽器添加到每個偵聽器。 – Gavin

回答

0

Firefox瀏覽器不支持MouseDown。

https://developer.mozilla.org/fr/docs/Web/Events/mousedown

的addEventListener只能的元件上使用,而不是在一個元件組。

嘗試是這樣的:

var form = document.getElementById('search-form'); 
[].forEach.call(form.childNodes, function(item, iterator){ 
    item.addEventListener('mousedown', function(e){ 
    //DO Something 
    alert('click'); 
    }); 
}); 

https://jsbin.com/kusuyacoyo/edit?js,output

+0

它不識別我的點擊(或mousedown事件)。它只是不會鏈接到我的API(這是在// Do Something),只要我現在點擊。 –

+0

我犯了一個錯誤。我剛編輯我的代碼 –

+0

仍然無法使用。問題是我的單選按鈕是不是我的表單中的直接子元素? (在窗體和實際單選按鈕之間有很多div和標籤) –