我有一个漂亮的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({
    // ...
});

08-15 15:48