相关疑难解决方法(0)

Jquery live()vs delegate()

我在这里和其他地方的了解之间的差异在网络上一些帖子live()delegate().但是我没有找到我正在寻找的答案(如果这是一个骗局请告诉我).

我知道live和之间的区别delegatelive不能在链中使用.我也读过某些地方,delegate在某些情况下更快(更好的性能).

我的问题是,是否存在应该使用live而不是delegate

UPDATE

我已经设置了一个简单的测试来查看性能的差异.

我还添加了.on()jQuery 1.7+中提供的新功能

结果几乎总结了答案中所述的性能问题.

  • .live()除非您的jQuery版本不支持,否则请勿使用.delegate().
  • .delegate()除非您的jQuery版本不支持,否则请勿使用.on().

.live()和之间的差异.delegate()大于delegate()和之间的差异.on().

jquery live

102
推荐指数
2
解决办法
4万
查看次数

jQuery中的bind和live方法有什么区别?

我很想知道bind和live函数之间的区别.

对我来说,他们似乎几乎完全相同.

我读了live/bind方法的好处,但它并没有告诉我差异......

谢谢!

jquery bind live

65
推荐指数
4
解决办法
4万
查看次数

jQuery:live()vs delegate()

我在我的Web应用程序中使用jQuery.在阅读其文档时,我读到了live()delegate().虽然他们已经解释了这两种方法,但我不明白它们之间的确切区别.还不确定哪种方法在哪种情况下是理想的.

请帮助我清楚地了解这些方法.

谢谢

javascript jquery live

50
推荐指数
2
解决办法
4896
查看次数

如何获取javaScript事件源元素?

有没有办法检索内联javaScript调用的元素源?

我有一个这样的按钮:

<button onclick="doSomething('param')" id="id_button">action</button>
Run Code Online (Sandbox Code Playgroud)

注意:

  • 该按钮是从服务器生成的
  • 我无法修改生成过程
  • 页面上生成了几个按钮,我只能在客户端控制.

我尝试过的:

function doSomething(param){
    var source = event.target || event.srcElement;
    console.log(source);
}
Run Code Online (Sandbox Code Playgroud)

在萤火虫上我得到的事件没有定义

编辑:在一些答案之后,使用jQuery覆盖事件处理是非常可接受的.我的问题是如何使用它的原始参数调用原始的onClick函数,并且不知道函数名称.

码:

<button onclick="doSomething('param')" id="id_button1">action1</button>
<button onclick="doAnotherSomething('param1', 'param2')" id="id_button1">action2</button>.
<button onclick="doDifferentThing()" id="id_button3">action3</button>
.
.
and so on..
Run Code Online (Sandbox Code Playgroud)

所以覆盖将是:

$(document).on('click', 'button', function(e) {
  e.preventDefault();
  var action = $(this).attr('onclick');
  /**
   * What to do here to call
   * - doSomething(this, 'param'); if button1 is clicked
   * - doAnotherSomething(this, 'param1', 'param2'); if button2 is clicked
   * - doDifferentThing(this); if button3 is …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

33
推荐指数
2
解决办法
11万
查看次数

使用live() - 好处 - 类似于bind()

我一直在阅读关于jquery现场活动的一些内容,我还是有点困惑吗?使用它有什么好处?

http://docs.jquery.com/Events/live

我知道它与bind类似,但这些事件似乎仍然不适合我.

只是寻找一些指针.

jquery

9
推荐指数
1
解决办法
4000
查看次数

bind()比live()和delegate()更快吗?

我的团队正在使用jQuery Mobile构建一个移动网站,当我们接近发布日期时,性能变得越来越受到关注.一个观察我做的是,我们有很多调用的live(),并delegate()在我们的代码; 但事实上,据我所知,我们只是不断用这些方法将事件处理程序附加到已经存在的(和DOM节点始终存在,在我们的应用程序的情况下).

鉴于live()并且delegate()这两者都旨在为稍后可能出现在DOM中的节点提供动态绑定,并且考虑到每个document节点都涉及处理一直冒泡到根节点的事件,我想知道我们是否会看到性能通过改变这些调用(在适当的情况下)来改进bind().

我知道我可能会以某种方式自己测试这个,但是我没有很多使用JavaScript进行性能测试的经验,而且我认为它可能需要更长的时间来弄清楚它对我的影响.简单地问社区.有没有人测试过这个?有可衡量的差异吗?或者将这些转换live()delegate()调用bind()是浪费时间?

performance jquery events jquery-mobile

5
推荐指数
1
解决办法
1239
查看次数

jQuery.live()处理程序多次启动

我必须根据一些服务响应动态生成一些按钮,并且还必须在点击这些按钮时附加一些处理程序.所以我正在使用jQuery.live()它,它第一次运作良好.

但是,当我删除所有按钮jQuery("<some container div>").empty()并再次创建这些按钮时,现在点击按钮"处理程序调用两次",如果我重复相同它会激发三次并且相同.

你们可以提前帮助我吗?

html javascript jquery

4
推荐指数
1
解决办法
2578
查看次数

添加iPhone OS事件的jQuery样式事件处理程序

我正在寻找一个超级简单的jQuery扩展.基本上我需要使用jQuery没有明确支持的一些事件.这些事件是iPhone的触摸事件,如ontouchstart,ontouchendontouchmove.

我通过这个工作:

// Sucks
$('.clickable').each(function() {
  this.ontouchstart = function(event) {
    //do stuff...
  };
}
Run Code Online (Sandbox Code Playgroud)

哪种糟透,不合情理.这就是我想要的:

// Better
$('.clickable').touchstart(function() {
  //do stuff...
}
Run Code Online (Sandbox Code Playgroud)

或者甚至更好1.4

// Awesome
$('.clickable').live('touchstart', function() {
  //.. do stuff
}
Run Code Online (Sandbox Code Playgroud)

这些事件不需要特殊处理,并且应该像任何其他事件一样工作,但我似乎无法弄清楚如何扩展jquery以使它们像所有其他事件一样工作.

javascript iphone jquery events

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

jquery ×8

javascript ×4

live ×3

events ×2

html ×2

bind ×1

iphone ×1

jquery-mobile ×1

performance ×1