Jquery 3.4.1.on();点击";选择器包含id和类时不触发
下面是关于使用Cordova的教程,它使用了Jquery 3.4.1和Bootstrap 4.4.1 该教程已经有几年历史了,所以在我尝试联系该教程的作者之前,我想我应该尝试一下“所以”!(链接到教程:) 我假设这与Cordova无关,也可能与Bootstrap无关,a完全与Jquery相关,但我想我会给您提供上下文 问题:我在页面顶部有一个菜单。当我运行应用程序并点击菜单时,什么都没有发生Jquery 3.4.1.on();点击";选择器包含id和类时不触发,jquery,cordova,bootstrap-4,Jquery,Cordova,Bootstrap 4,下面是关于使用Cordova的教程,它使用了Jquery 3.4.1和Bootstrap 4.4.1 该教程已经有几年历史了,所以在我尝试联系该教程的作者之前,我想我应该尝试一下“所以”!(链接到教程:) 我假设这与Cordova无关,也可能与Bootstrap无关,a完全与Jquery相关,但我想我会给您提供上下文 问题:我在页面顶部有一个菜单。当我运行应用程序并点击菜单时,什么都没有发生 $(文档)。在('click','cfx topbar.cfx topbar菜单',函数(){ 警报(
$(文档)。在('click','cfx topbar.cfx topbar菜单',函数(){
警报(“单击!”);
var target=$(this.data('index');
美元(“.carousel”).carousel(目标);
交换机(目标){
案例0:
//在这里做一些特定于视图的事情,比如加载数据。。。;
打破
案例1:
//在这里做一些特定于视图的事情,比如加载数据。。。;
打破
案例2:
//在这里做一些特定于视图的事情,比如加载数据。。。;
打破
案例3:
//在这里做一些特定于视图的事情,比如加载数据。。。;
打破
}
});代码>
#cfx顶栏{
背景#689F38;
排名:0;
左:0;
位置:固定;
宽度:100%;
高度:50px;
z指数:3;
}
顶栏菜单{
列表样式:无;
位置:相对位置;
填充:0;
宽度:100%;
}
您的css缺少一个。在类名和UL之前有一个id,但您正在尝试调用一个类
Try:$(文档)。在('click','cfx topbar#cfx topbar menu',function(){
或者将ulid更改为class
HTH这里有两个问题。首先,您试图选择的属性是id
,而不是类
,因此选择器应该是\cfx topbar菜单
而不是。cfx topbar菜单
。其次数据
属性位于\cfx topbar菜单
的子元素上,因此您可以已编辑以将其包含在选择器中。请尝试以下操作:
$(文档)。在('click','cfx topbar#cfx topbar菜单a',函数(){
var target=$(this.data('index');
控制台日志(目标);
});
#cfx顶栏{
背景#689F38;
排名:0;
左:0;
位置:固定;
宽度:100%;
高度:50px;
z指数:3;
}
顶栏菜单{
列表样式:无;
位置:相对位置;
填充:0;
宽度:100%;
}
感谢您如此快速的响应。问题是“单击”没有触发。好的,将“.”替换为“#”确实会触发。谢谢。但是,下一行:“$(this).data('index')”返回“undefined”,其中“this”是一个HtmlLiselement对象,不会返回“data index”在单击的元素上设置的属性。是否有另一个简单的原因导致“target”没有正确填充?您选择了错误的元素。数据属性位于a
上,而不是li
上。谢谢Rory。最终的选择器现在看起来如下:“#cfx topbar#cfx topbar菜单a”我看不出如何投票给y你没有发布“答案”。如果你这样做了,我可以将其设置为答案。谢谢。很高兴它有帮助。我为你添加了答案