我有一个页面,它使菜单下拉以进行响应行为。所以很明显,选择标签只有在屏幕较小时才会出现。我想将 jquery 应用于那个选择框和当时动态添加的其他两个按钮。
我指的是这个问题: 动态创建元素上的事件绑定?
但这并没有帮助我解决问题。谁能解释我哪里出错了?
我使用这个jquery 使它在我的页面中的下拉菜单。 - 仅供参考,如果有人需要。
这是我尝试过的:
<div id="nav" role="navigation">
<a href="#nav" title="Show navigation" id="shownav">
choose one
<img src="images/dropmenu-arrow.png" alt="" class="droparrow">
</a>
<a href="#" title="Hide navigation" id="hidenav">
choose one
<img src="images/dropmenu-arrow.png" alt="" class="droparrow">
</a>
<ul class="clearfix" id="kat-drop">
<li><a href="#">list item 1</a></li>
<li><a href="#">list item 2</a></li>
<li><a href="#">list item 3</a></li>
</ul>
</div>
<script src="js/doubletaptogo.min.js"></script>
<script>
$( function()
{
$( '#nav li:has(ul)' ).doubleTapToGo();
});// upto this-it runs fine giving me dropmenu for desired screen
$(document).on("click",$("#shownav"), function(){
//alert("clicked"); // this didn't work neither the rest of the code from here
if($("#kat-drop").css("display")=="block"){
$("#kat-drop").slideUp();
}
else{
$("#kat-drop").slideDown();
}
} );
</script>
编辑 - 1
好的,我按照要求将其删除。现在是:
$(document).on("click","#shownav", function(){
event.preventDefault(); // i want to prevent reloading of page too which doesn't work for now.
} );
$(document).on("click","#shownav", function(){
alert("clicked"); // Still I am not getting this alert
if($("#kat-drop").css("display")=="block"){
$("#kat-drop").slideUp();
}
else{
$("#kat-drop").slideDown();
}
} );
编辑 - 2
它既不阻止重新加载页面也不给我警报。
$(document).on("click","#shownav", function(event){
event.preventDefault(); // i want to prevent reloading of page too which doesn't work for now.
} );
$(document).on("click","#shownav", function(event){
alert("clicked");// not working yet
} );