首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IndexedDB - iPad Safari (ver: 10及以上) jquery.bind不工作

IndexedDB - iPad Safari (ver: 10及以上) jquery.bind不工作
EN

Stack Overflow用户
提问于 2017-09-08 09:26:49
回答 2查看 171关注 0票数 0

描述:

我有一个从indexedDB获取记录的函数。当函数调用绑定到使用'jquery.click‘的元素时,它工作正常,但是当我使用'jquery.bind’绑定相同的元素时,它会使webapp崩溃。在调试时发现应用程序会在request.onsuccess事件上崩溃。

平台: Ipad (iOs 10及以上版本),浏览器

问题: 'jquery.bind‘不起作用。

我尝试过的场景:

  1. 我尝试通过绑定元素而不调用indexedDB相关函数-工作良好
  2. 我试过在Windows 中工作很好的
  3. 使用jquery.click -工作良好的
  4. 当使用jquery.bind -绑定元素时,webapp崩溃。

示例:

代码语言:javascript
复制
$('#ABC').bind('click', function(e) {
 var transaction = db.transaction(['Table1'],'readonly')
 var objStore = transaction.objectStore('Table1');
 var request = objStore.getAll()
 request.onsuccess = function (event) {
       console.log(event);
 })

})

在上面的场景中,当事件被触发时,应用程序会崩溃,但是如果我们使用jquery.click,它就可以正常工作。

请帮帮忙。

EN

回答 2

Stack Overflow用户

发布于 2017-09-08 13:50:25

看起来,您正在使用一个全局数据库变量,并试图在应用程序的生存期内重用相同的数据库连接。不能保证在单击事件发生时定义并打开数据库。它可能还没有打开,它可能已经关闭,甚至可能没有被定义为一个变量。先试试这个。

其他说明:

  • 对于单个表上的事务,不需要[]
  • 记录请求或事务的错误消息,因此您有更多有用的信息。
  • 取决于您,但readonly是隐式的,因为它是默认的,不需要指定它。
  • 你真的需要更具体地说明坠机意味着什么。你的问题目前的措辞方式很难帮助你。
票数 0
EN

Stack Overflow用户

发布于 2017-09-08 16:38:53

getAll() on IDBObjectStore直到Safari10.1(参见http://caniuse.com/#feat=indexeddb2)才被支持--我认为这还没有与iOS更新一起发布。(至少,我的iPhone在用户代理中报告了10.0。)您确定在其他情况下这在平台上起作用吗?还是错误没有被报告?

正如另一个Josh指出的,很难确切地知道您正在看到什么问题--如果通过“崩溃”您得到了一个异常,您能告诉我们异常信息是什么吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46113095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档