【问题标题】:Use Zepto method on jQuery collection在 jQuery 集合上使用 Zepto 方法
【发布时间】:2013-03-07 00:30:26
【问题描述】:

我同时使用 jQuery 和 Zepto。 我想有条件地在 jQuery 集合上调用 Zepto 方法。任何人都有一个雄辩的解决方案?我的代码目前看起来像这样:

// Obtain jQuery Object
var $selector = jQuery('.selector');

// Desktop
$selector.click( ... );

// Mobile
if (window.Zepto){
  $selector.slideLeft( ... );
}

【问题讨论】:

  • 为什么不把这样的 Zepto 方法集成到 jQuery 插件中呢?
  • 试过了...如果不编辑 Zepto 源就无法做到...即 e.touches 需要成为 e.originalEvent.touches...等等

标签: javascript jquery zepto


【解决方案1】:

它非常脆弱,但你可以使用Function.call 将 Zepto 函数应用于 jQuery 对象。我做了一个概念验证小提琴 (http://jsfiddle.net/STnUQ/1/),显然它适用于简单的 css 函数。

var div = jQuery('.test');
Zepto().css.call(div, 'color', 'red');

只要 jQuery 对象的底层数据结构与 Zepto 匹配,它就可以正常工作。但这并不能保证(甚至可能),您应该针对您的具体用途进行广泛的测试。

【讨论】:

    猜你喜欢
    • 2013-03-12
    • 2017-01-11
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 2019-04-10
    • 2012-02-02
    • 2011-11-18
    相关资源
    最近更新 更多