我有一个漂亮的css切换控件,我想为其添加滑动支持,并且我正在使用TouchSwipe插件。问题是我不知道如何只影响调用它的元素。我在页面上有一堆切换开关,现在它们都被触发了,而不仅仅是我正在滑动的切换开关。 (touchswipe插件:http://labs.rampinteractive.co.uk/touchSwipe/demos/)
例如,此代码:
/* Toggle */
$('.toggle2').click(function() {
/* code which switches between toggled on and toggled off */
}).disableSelection().swipe({
_this: $(this),
swipeLeft: function(event, direction, distance, duration, fingerCount, fingerData){
if ($('.toggle2').hasClass('on'))
$('.toggle2').trigger('click');
},
swipeRight: function(event, direction, distance, duration, fingerCount, fingerData){
if ($('.toggle2').hasClass('off')) alert('n');
$('.toggle2').trigger('click');
},
threshold: 0
});
可以,但是会触发页面上的所有切换。我试图将$('。toggle2')更改为$(event.target)无济于事。我究竟做错了什么?
最佳答案
尽管您在问题中的分享不多,但看起来所有其他切换器的类(toggle2
)都带有<div class="toggle2"></div>
。在尝试滑动的对象上添加另一个(<div class="toggle2 toggle-swipe"></div>
),并将其用于您的滑动脚本:
$('.toggle-swipe').click(function() {
/* code which switches between toggled on and toggled off */
}).disableSelection().swipe({
// ...
});