说明
我有一个从indexedDB获取记录的函数。当通过使用'jquery.click'将函数调用绑定到元素来调用它时,它工作正常,但当我使用'jquery.bind'绑定相同的元素时,它会崩溃webapp。在调试时我发现应用程序在request.onsuccess事件中崩溃。
平台: Ipad(iOs版本10及以上版本),Safari浏览器
问题:'jquery.bind'无效。
我尝试的方案:
示例:
$('#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,那么它可以正常工作。
请帮忙。
答案 0 :(得分:0)
看起来您正在使用全局数据库变量并尝试在应用程序的生命周期内重用相同的数据库连接。无法保证在单击事件时,数据库已定义并打开。它可能尚未打开,它可能已关闭,甚至可能不被定义为变量。首先尝试一下。
其他说明:
答案 1 :(得分:0)
getAll()
(请参阅http://caniuse.com/#feat=indexeddb2) - 我不认为它已经发布了iOS更新。 (至少,我的iPhone在用户代理中报告10.0。)在其他情况下,您确定这是在平台上工作,还是错误只是没有报告?
正如乔什所指出的那样,很难确切地说出你所看到的问题 - 如果是"崩溃"你得到了一个异常,你能告诉我们异常消息是什么吗?