如何在javascript/jquery中使用/调用此函数?
我对jquery/javascript非常陌生。我找到了swipedown和swipeup的js代码。但我不知道如何使用它或调用它 js代码:如何在javascript/jquery中使用/调用此函数?,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我对jquery/javascript非常陌生。我找到了swipedown和swipeup的js代码。但我不知道如何使用它或调用它 js代码: (function() { // initializes touch and scroll events var supportTouch = $.support.touch, scrollEvent = "touchmove scroll", touchStartEvent = suppo
(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);
}
};
});
})();
但它没有提醒我注意 最后一个()在函数创建后调用它。该函数为jquery添加了一个新的可能性。所以你可以称之为做:
$('#swipedown').bind('swipedown', function(e){
alert('test');
});
您的代码将被添加(如文档所述)到jQuery事件特别集合
,这意味着您可以像调用任何其他jQuery事件一样调用swipeup
或swipdown
例如:
$("div p").live('swipedown',function() {
alert("swiped down");
});
这将在p
元素发生swipedown操作时触发,如:
<body>
<div>
<h1>hello world</h1>
<p>pull me down</p>
</div>
</body>
你好,世界
拉我下来
找到插件的地方没有文档吗?代码是自动执行的。这意味着一旦加载了脚本,这个函数就会被执行。它正在将swipeupdown事件添加到jQuery事件集合中。@scott我没有找到任何文档,下面是链接:@zladuric如何称呼它?还是使用它?真的不知道怎么做。嗯,不是真的喜欢jQuery。但是如果它正在监听swipeupdown事件,也许您可以尝试在时间线的某个位置手动触发它们进行测试,比如$(“#someid”).trigger(“swipeupdown”);?尝试了您的代码,但仍然没有响应,但当我将其绑定到单击事件时,它会触发警报。这非常令人沮丧。您还可以尝试在setup:function()之后添加警报{
,所以至少您知道事件是否正在绑定但不起作用,或者事件根本没有绑定。尝试在js函数中添加警报,但它确实提示我,因此它确实正在加载js文件,但我仍然无法使用它/调用它。grrr。你说$(窗口)是什么意思?你是指:$(窗口)。绑定吗(“swipedown”,功能(e){…?是的,这就是我的意思。但是如果调用setup函数,这意味着插件应该可以工作。也许它不是一个好插件。你可以搜索另一个,或者尝试修复它。我正在寻找一个javascript/jquery脚本,它将处理IOS或android本机应用程序中的类似swipedown的问题。你已经遇到过类似的问题了吗这
$("div p").live('swipedown',function() {
alert("swiped down");
});
<body>
<div>
<h1>hello world</h1>
<p>pull me down</p>
</div>
</body>