所以,我有一个问题。在我的其中一个项目中,我想为面板添加一个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。谢谢! –