Как использовать / вызвать эту функцию в JavaScript / JQuery? - PullRequest
2 голосов
/ 17 февраля 2012

Я очень новичок в jquery / javascript. Итак, я нашел этот код js для swipedown и swipeup. Но не знаю, как его использовать или назвать.

Код JS:

   (function() {
 // initializes touch and scroll events
    var supportTouch = $.support.touch,
            scrollEvent = "touchmove scroll",
            touchStartEvent = supportTouch ? "touchstart" : "mousedown",
            touchStopEvent = supportTouch ? "touchend" : "mouseup",
            touchMoveEvent = supportTouch ? "touchmove" : "mousemove";

// handles swipeup and swipedown
    $.event.special.swipeupdown = {
        setup: function() {
            var thisObject = this;
            var $this = $(thisObject);

            $this.bind(touchStartEvent, function(event) {
                var data = event.originalEvent.touches ?
                        event.originalEvent.touches[ 0 ] :
                        event,
                        start = {
                            time: (new Date).getTime(),
                            coords: [ data.pageX, data.pageY ],
                            origin: $(event.target)
                        },
                        stop;

                function moveHandler(event) {
                    if (!start) {
                        return;
                    }

                    var data = event.originalEvent.touches ?
                            event.originalEvent.touches[ 0 ] :
                            event;
                    stop = {
                        time: (new Date).getTime(),
                        coords: [ data.pageX, data.pageY ]
                    };

                    // prevent scrolling
                    if (Math.abs(start.coords[1] - stop.coords[1]) > 10) {
                        event.preventDefault();
                    }
                }

                $this
                        .bind(touchMoveEvent, moveHandler)
                        .one(touchStopEvent, function(event) {
                    $this.unbind(touchMoveEvent, moveHandler);
                    if (start && stop) {
                        if (stop.time - start.time < 1000 &&
                                Math.abs(start.coords[1] - stop.coords[1]) > 30 &&
                                Math.abs(start.coords[0] - stop.coords[0]) < 75) {
                            start.origin
                                    .trigger("swipeupdown")
                                    .trigger(start.coords[1] > stop.coords[1] ? "swipeup" : "swipedown");
                        }
                    }
                    start = stop = undefined;
                });
            });
        }
    };

//Adds the events to the jQuery events special collection
    $.each({
        swipedown: "swipeupdown",
        swipeup: "swipeupdown"
    }, function(event, sourceEvent){
        $.event.special[event] = {
            setup: function(){
                $(this).bind(sourceEvent, $.noop);
            }
        };
    });

})();

это якорный элемент, который я хочу активировать, используя приведенный выше код

<a href="<?php echo base_url();?>home/drop_down" id="swipedown"></a>

попытался вызвать функцию следующим образом:

$('#swipedown').live('swipedown', function(event, data){
                    alert('swipes')
            });

но это не вызвало у меня тревоги. >. <. Любая помощь будет высоко ценится. </p>

Ответы [ 2 ]

1 голос
/ 17 февраля 2012

Функция last () вызывает функцию после ее создания.Функция добавляет новую возможность в jquery.Так что вы, вероятно, можете назвать это следующим образом:

$('#swipedown').bind('swipedown', function(e){
    alert('test');
});
0 голосов
/ 28 января 2014

Ваш код будет добавлен (как задокументировано) к jQuery events special collection, это означает, что вы можете вызвать swipeup или swipedown как любое другое событие jQuery.

пример:

$("div p").live('swipedown',function() {
  alert("swiped down");
});

Это будет срабатывать при действии swipedown с элементом p, например:

<body>
 <div>
  <h1>hello world</h1>
  <p>pull me down</p>
 </div>
</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...