我正在使用超级棒的dropkick.js,但我注意到一件小事;使用jquery onClick()事件似乎无法定位其列表中的元素。
我尝试过使用第n个子选择器(通过css很好地工作)和警报并停止提取和各种不同的方法;但出于某种原因,每当我点击列表中的元素时,它都没有听到我点击了那个元素而没有按照我的要求去做。这是我的代码:
<div class="dk_options" style="top: 34px;">
<ul class="dk_options_inner">
<li class="" style=""><a data-dk-dropdown-value="">PICK A PRINT</a></li>
<li class="digital dk_option_current" style=""><a data-dk-dropdown-value="digital">Giclee Print</a></li>
<li class="screen"><a data-dk-dropdown-value="screen">Screen Print</a></li>
</ul>
</div>
这是剧本:
<script type="text/javascript">
$(document).ready(function() {
$('.screen-price').hide();
$('.screen').click(function(){
$('.digital-price').hide();
$('.screen-price').show();
return false;
});
$('.digital').click(function(){
$('.screen-price').hide();
$('.digital-price').show();
return false;
});
$('.add-to-cart').click(function(){
return false;
});
});
</script>
我不确定这笔交易是什么;我尝试过各种各样的解决方案。请告诉我。
答案 0 :(得分:0)
好。我想我已经弄明白了。我不确定为什么它会像这样工作,但确实如此。
所以,为了定位我的菜单,我必须:
1)专门调用菜单;在这种情况下,它是.price-menu
2)确保我使用.dropkick
来调用它$('.price-menu').dropkick({
3)使用change: function()
声明
4)将它们串在一起看起来像这样:
$('.price-menu').dropkick({
change: function () {
$('.screen').click(function(){
})}
});
现在,出于某种原因,执行我想要它做的事情的代码是在整个事情之外,但仍然在脚本itsefl;看看:
$(document).ready(function() {
$('.screen-price').hide();
$('.price-menu').dropkick({
change: function () {
$('.screen').click(function(){
})}
});
$('.screen').click(function(){
$('.digital-price').hide();
$('.screen-price').show();
});
$('.digital').click(function(){
$('.screen-price').hide();
$('.digital-price').show();
});
});
这就是诀窍。我不确定为什么,但确实有效。
任何人都知道这是如何工作的,或者是否愿意向我解释?
另外,非常感谢所有发布到此主题的人 - 我很感激:c)
干杯! JC