标签: zepto

获取元素相对于父容器的位置/偏移量?

我习惯使用jQuery.在我目前的项目中,我使用zepto.js.Zepto没有position()像jQuery那样提供方法.Zepto只附带offset().

知道如何使用纯js或Zepto检索容器相对于父级的偏移量吗?

javascript position offset zepto

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

Zepto和jQuery 2有什么区别?

有两个类似的项目:

Zepto.js

Zepto是一个用于现代浏览器的极简主义JavaScript库,具有与jQuery兼容的API.

jQuery 2.0

jQuery 2.0 beta:这是你对未来的品味,jQuery可以更快更小,而不需要支持IE 6,7或8.它是特定于平台的HTML应用程序的绝佳选择.

这仅仅是关于性能还是他们遵循不同的方法?

jquery zepto

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

如何用$ .ajax(jQuery或Zepto)POST一个对象数组

我想在Zepto或Jquery中用$ .ajax POST一个对象数组.两者都表现出相同的奇怪错误,但我找不到我做错了什么.

当使用像'RestEasy'这样的测试客户端发送数据时,数据会保存到服务器,我可以在浏览器的网络面板中看到请求被破坏,所以我相信JS是罪魁祸首.

如果我发送一个对象数组作为POST的数据属性,则它们没有正确发送.

数据对象:

var postData = [
    { "id":"1", "name":"bob"}
  , { "id":"2", "name":"jonas"}
  ]
Run Code Online (Sandbox Code Playgroud)

请求:

$.ajax({
  url: _saveDeviceUrl
, type: 'POST'
, contentType: 'application/json'
, dataType: 'json'
, data: postData
, success: _madeSave.bind(this)
//, processData: false //Doesn't help
});
Run Code Online (Sandbox Code Playgroud)

请求正文,如浏览器中所示:

"bob=undefined&jonas=undefined"
Run Code Online (Sandbox Code Playgroud)

通过使用jQuery和Zepto用于准备POST数据的$ .param方法,可以更直接地看到这一点.

$.param(
  [
    { "id":"1", "name":"bob"}
  , { "id":"2", "name":"jonas"}
  ]
)
// Output: "bob=undefined&jonas=undefined"
Run Code Online (Sandbox Code Playgroud)

因此,这些库为复杂的后期数据做的准备似乎与我预期的不同.

我看到了这个答案,但我不希望将数据作为查询参数发送,因为我正在发布大量内容. 如何使用jQuery在.ajax帖子中发送数组?

使用jQuery/Zepto通过POST发送多个对象的正确方法是什么?

使用$ .ajax({... data:JSON.stringify(postData)...})发送非破坏内容,但服务器不喜欢该格式.

更新: 似乎JSON.stringify发送格式正确的内容.问题是服务器端非常非常具体地说明了它想要的对象的结构.如果我在对象中添加或删除任何属性,它将使整个过程失败,而不是使用匹配的属性.这很不方便,因为将服务器发送的内容用作视图模型很好,但视图模型会发生变化.......仍在努力寻求最佳解决方案.

ajax rest jquery zepto

44
推荐指数
3
解决办法
15万
查看次数

Zepto回退到jQuery

我正在使用ZeptoJS作为我的网络应用程序,但如果浏览器不支持Zepto,我想回到jQuery.由于IE是目前唯一不支持的主要浏览器,我很想检测IE:

if(navigator.appName == 'Microsoft Internet Explorer'){
    // load jquery
} else {
    // load zepto
}
Run Code Online (Sandbox Code Playgroud)

但我更愿意在其他情况下具体检测Zepto支持并使用jQuery.是否有一种功能检测方法可以做到这一点?

javascript jquery browser-detection zepto

26
推荐指数
6
解决办法
2万
查看次数

如何在单页移动Web应用程序中实现自己的历史堆栈?

我有一个使用Backbone和Zepto开发的单页移动应用程序.

它可以与浏览器中的后退/前进按钮一起正常工作.

当用户导航到页面时,内容从右侧滑入,因为内容向左滑动(并且离开视口).如果用户按下"前进"浏览器按钮,我希望发生同样的事情.这一切都有效.

我有一个类,我添加到body元素navigate-back将翻转此行为,所以当用户使用浏览器的后退按钮导航回来时,他们会看到内容从左侧向后滑动而其他内容向右滑动.基本上恰好与前进相反.

我需要检测用户是否向后导航,以便我可以调用备用行为.我试图实现我自己的历史堆栈,但我已经遇到了很多的地方,有时它标志着前进的问题回到它破坏了视觉提示导航功能.它现在变成了一堆黑客,如果我发布它可能只会让我感到尴尬.

实现我自己的历史堆栈的最佳方法是什么,以便我可以检测用户是否在单页Backbone移动应用程序的上下文中向前/向后导航?

javascript mobile browser-history backbone.js zepto

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

Zepto.js上的jQueryMobile?

我想知道是否有人已经尝试在Zepto.js(http://zeptojs.com/)上移植jQueryMobile 而不是所需的jQuery?

javascript-framework jquery-mobile zepto

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

Backbone.js内存管理,DOM节点数上升

情况:我正在开发一个相当复杂的单页Backbone应用程序,可能会连续运行8-12个小时.因此,需要确保应用程序不会泄漏并在X小时后崩溃或显着减速.

应用程序:该应用程序基于Backbone(mv*),Zepto(类似于jquery),Curl(amd loader)和Mustache(模板)构建.

问题:我刚刚征服了事件监听器.垃圾收集器似乎在清理这些人员方面做得很好,但DOM Node Count不会停止攀爬.

问题:

  • 是否有正确的方法来处理DOM节点以便它们被正确地垃圾收集,或者这个DOM节点计数是否会永远不会减少?
  • 有没有人知道任何这些框架处理DOM节点?可能是小胡子?
  • DOM节点计数甚至是可靠的数字吗?

我真的只是想在我的冒险中找到一个先机,以阻止这些DOM节点上升.任何帮助或指导将不胜感激(并相应地投票).

我假设一旦事件监听器被妥善处理,DOM节点计数就会自行管理,但事实并非如此.

测试


管理不善的DOM节点数

  • 第一次测试:6.8分钟,110,000个DOM节点

编辑:没有时间轴录制,我重新使用相同的脚本随机混搭链接并在7分钟左右拍摄截图.GC发布后我得到了这些结果.

管理不善的DOM节点数

  • 第二次测试:7.1分钟,141,000个DOM节点(没有时间线记录)

编辑:修复后:

DOM节点计数受控制 升级Backbone并使用listenTo和stopListening到处都是

  • 7分钟:6,926个DOM节点(见下面的标记答案).
  • 20分钟:6,000个DOM节点,20个事件监听器,20 MB内存.
  • 25分钟:11,600个DOM节点,44个监听器,内存21.7 MB.
  • 28分钟:9,000个DOM节点,22个事件监听器,内存21.7 MB.
  • 30分钟:13700个DOM节点,123个事件监听器,内存21.7.
  • 31分钟:7,040个DOM节点,30个监听器,内存21.7.

javascript mustache google-chrome-devtools backbone.js zepto

15
推荐指数
2
解决办法
4406
查看次数

Zepto.js只能用于移动网络应用程序,还是像jQuery一样用于桌面?

Zepto.js网站说:

Zepto.js是一个用于移动 WebKit浏览器的极简主义JavaScript框架,具有与jQuery兼容的语法.

它是否仅建议用于将在移动设备上使用的应用程序,还是也可用于传统的计算机浏览器Web应用程序中?这样做有什么缺点?

我在我的常规网络应用程序(用于计算机浏览器)中经常使用jQuery,并且我已经意识到(在找到Zepto.js之后)我并不总是使用jQuery的所有功能,所以Zepto.js非常适合我的工作.

另外,为什么会关注'WebKit'引擎呢?它不适用于Windows Phone 7上的移动Internet Explorer,Android或Opera Mobile上的Firefox Mobile吗?

编辑:除了$ .os.ios之外,$ .os.android的存在表明支持非iOS平台,所以最后一个问题得到解答!

编辑(最后):我想真正的问题是"Zepto.js库,打算用于基于移动WebKit的浏览器,是否也可以用作桌面jQuery的轻量级替代品?" 答案是不.

javascript jquery webkit javascript-framework zepto

12
推荐指数
2
解决办法
5190
查看次数

查看事件监听器 - Javascript

我想知道是否有可能查看

1.有多少事件监听器

2.什么类型的事件监听器

在一个网页上.

原因是因为使用off();方法.

我正在使用这个框架,它基本上是jQuery但不是.

是的,我正在使用,但是偶然没有移除,而且我感觉eventListener元素上不止一个.

如果使用javascript无法实现,可以在浏览器中使用吗?

javascript events javascript-events zepto

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

如何在zepto中实现像slideDown()这样的jquery

我在我的移动网站上使用zepto库.我最近了解到zepto没有slideDown()像jquery 这样的插件.我想为zepto实现相同的功能.

我在jsfiddle上尝试了一个(http://jsfiddle.net/goje87/keHMp/1/).这里显示元素时没有动画.它只是闪烁下来.我如何引入动画?

PS:我无法提供固定高度,因为我将此插件应用于其高度属性不可知的元素.

谢谢!

html javascript jquery slidedown zepto

9
推荐指数
2
解决办法
8381
查看次数