Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何在ajax添加的元素上绑定触摸事件_Jquery_Jquery Plugins - Fatal编程技术网

Jquery 如何在ajax添加的元素上绑定触摸事件

Jquery 如何在ajax添加的元素上绑定触摸事件,jquery,jquery-plugins,Jquery,Jquery Plugins,我正在使用的是一个小的网络应用程序。 不幸的是,它不能处理动态添加的元素(例如通过AJAX) 我仔细查看了代码,发现如下内容: $element.bind(START_EV, touchStart); $element.bind(CANCEL_EV, touchCancel); 如何绑定事件,使其也可用于动态添加的元素?对和委派事件使用: $(document).on('event', 'element_selector', function(){ // do when event h

我正在使用的是一个小的网络应用程序。 不幸的是,它不能处理动态添加的元素(例如通过AJAX)

我仔细查看了代码,发现如下内容:

$element.bind(START_EV, touchStart);
$element.bind(CANCEL_EV, touchCancel);

如何绑定事件,使其也可用于动态添加的元素?

对和委派事件使用

$(document).on('event', 'element_selector', function(){
    // do when event happens
});

但对于该插件,您可能必须在将事件添加到页面时将其附加到新对象。

使用
和委派事件:

$(document).on('event', 'element_selector', function(){
    // do when event happens
});

但对于该插件,您可能必须在将事件添加到页面时将其附加到新对象。

有关在该场景中使用
.on
的详细信息,如下图所示:

$(“#box”).on('mouseover','.box',function(){
$(this.trigger('swiping');
});
$(“#box”).on('刷卡','.box',函数(){
var$this=$(this);
$this.swip({
滑动:功能(事件、方向、距离、持续时间、手指计数){
$this.text(“您刷卡”+方向);
}
});

在上面的代码片段中,动态创建了新的
.box
元素。您创建了一个
'swiping'
事件,并在悬停状态下为
.box
元素触发它(包括通过AJAX等添加的新元素)。然后,第二部分监视
'swiping'
事件,并附加插件的
.swipe()
catchall用于
.box
元素。

有关在该场景中使用
.on
的详细信息,如下图所示:

$(“#box”).on('mouseover','.box',function(){
$(this.trigger('swiping');
});
$(“#box”).on('刷卡','.box',函数(){
var$this=$(this);
$this.swip({
滑动:功能(事件、方向、距离、持续时间、手指计数){
$this.text(“您刷卡”+方向);
}
});

在上面的代码片段中,动态创建了新的
.box
元素。您创建了一个
'swiping'
事件,并在悬停状态下为
.box
元素触发它(包括通过AJAX等添加的新元素)。然后,第二部分监视
'swiping'
事件,并附加插件的
.swipe()
catchall用于
.box
元素。

是的,我已经在()上试过了,但它不起作用,因为所有元素(我对许多
li
元素使用插件)将在应用程序启动时触发。@Slevin为什么会“触发”?这只是委托事件,不会触发事件。抱歉,措词错误。当用户与其中一个列表元素交互时,将调用此函数。当使用此代码时,将为每个列表元素激发:
$(文档)。on(START_EV,$element,touchStart)是的,我已经在()上试过了,但是没有用,因为所有的元素(我用这个插件处理很多
li
元素)将在应用程序启动时触发。@Slevin为什么会“触发”?这只是委托事件,不会触发事件。抱歉,措词错误。当用户与其中一个列表元素交互时,将调用此函数。当使用此代码时,将为每个列表元素激发:
$(文档)。on(START_EV,$element,touchStart)
关于.live()?你试过了吗?
。live()
不推荐使用,应该替换为
。on()
,但是
。on()
对这个插件不起作用。关于.live()?你试过了吗?
。live()
不推荐使用,应该替换为
。on()
,但是
.on()
此插件不能以这种方式工作。