Dav*_*Dev 0 jquery conflict prototypejs
我们将内容呈现在客户端提供的HTML"包装器"中.那个HTML包装器包含对jQuery 1.2.6的引用,所以这是我迄今为止用于jQuery功能的内容.
我面临的问题是我正在动态呈现需要与之关联的点击事件的内容.click事件与$(document).ready()上的元素相关联.因此,我需要.live()函数的功能,该功能在1.3+版本中可用.
所以我想知道我的选择是什么?
有没有办法让我轻松模仿.live()的功能,这样我就不需要jQuery库提供的功能了?
我是否需要在内容中包含新的jQuery库?这不是理想的,因为它会导致需要管理的冲突,并且我们已经在管理与Prototype库的冲突,其他人已经在包装器中包含以下行:
jQuery(document).ready(function ($) {
Run Code Online (Sandbox Code Playgroud)
除非有人能告诉我一个简单的方法吗?
...或者我把它还给客户端是时候让他们升级他们的jQuery了?我不知道这是否会发生.
任何人都可以建议解决这个问题吗?谢谢
您可以简单地滚动自己的事件委派.例如,而不是绑定到动态创建的元素,例如:
$('.foo').click(function() { /* foo handler */ });
Run Code Online (Sandbox Code Playgroud)
您可以将处理程序附加到更高级别的元素(如文档),并过滤单击事件:
$(document).click(function(evt) {
var $target = $(evt.target);
if ($target.is('.foo') || $target.parents('.foo').length > 0) {
/* foo handler */
}
});
Run Code Online (Sandbox Code Playgroud)
这是live(和较新的委托)操作的基本思想.
| 归档时间: |
|
| 查看次数: |
1258 次 |
| 最近记录: |