所以,我有一個問題。在我的其中一個項目中,我想爲面板添加一個slideToggle函數,點擊標題。我基本上想要這個。Jquery .click()不適用於標題
https://jsfiddle.net/abrch86f/
的問題是,當我點擊標題,(一個H3),沒有任何反應,並檢查,我說的點擊功能的警報消息也是如此。我基本上都在尋找會導致這種情況發生的常見錯誤。 JQuery被definetely加載,我總是使用文檔加載的警報消息來檢查。這裏是我的代碼
JQuery的
$('h3').click(function(){
alert("It works!");
$('.content').slideToggle();
});
HTML
<div id="left-panel">
<h3>Hire Soldiers</h3>
<div class="content">
<button onClick="hireSwordsman()">Swordsman - Cost 70 Ore</button>
<button onClick="hireVanguard()">Vanguard - Cost 90 Ore</button>
<button onClick="hireBowman()">Bowman - Cost 125 Ore</button>
<button onClick="hireKnight()">Knight - Cost 200 Ore</button>
</div>
</div>
我包括我的左側面板DIV的原因是因爲我不知道,如果z-index的有什麼關係,但我有一種預感。可以顯示是一個問題?我不知道爲什麼會這樣,因爲我根本沒有改變它。我再次強調,我只是在尋找會導致它無法工作的事情。如果你認爲你可以直接幫助我,並需要更多信息,那就問。
謝謝!
z-index肯定會導致這種情況發生。如果某些其他元素覆蓋了您想要點擊的「h3」元素,覆蓋'h3「的元素將會註冊點擊事件。 如果你在這個問題中用你的HTML代替了HTML中的HTML,並將'$ .slideToggle()'選擇器更改爲'.content',它應該可以很好地工作。 – josephting
順便說一句,當遇到這些問題時,檢查實際上被點擊的一種好方法是在'ready()'後面執行此操作:$(document).click(function(e){ \t console.log(e.target); \t});' 但是,這會記錄您點擊的所有內容,因此將其註釋掉或在不需要時將其刪除。 – junkfoodjunkie
哇@junkfoodjunkie這實際上是超級有用的!現在我可以確定有什麼東西擋住了我的h3。謝謝! –