我正在使用一个名为pull.js的
javascript文件.它用于Ipad中的下拉刷新,但是,当我使用其他jquery和javascript停止工作?它给出了以下未捕获的异常错误:
”
Error: uncaught exception:[Exception… “Not enough arguments” nsresult: “0x80570001
(NS_ERROR_XPC_NOT_ENOUGH_ARGS)” location: “JS frame :: pull.js ::
anonymous :: line 26” data: no]
“
var PULL = function() { var content,pullToRefresh,refreshing,contentStartY,success,start,cancel,startY,track = false,refresh = false; var removeTransition = function() { //content.style['-webkit-transition-duration'] = 0; }; return { init: function(o) { content = document.getElementById('content'); pullToRefresh = document.getElementById('pull_to_refresh'); refreshing = document.getElementById('refreshing'); success = o.success; start = o.start; cancel = o.cancel; document.body.addEventListener('touchstart',function(e) { e.preventDefault(); contentStartY = parseInt(content.style.top); startY = e.touches[0].screenY; }); document.body.addEventListener('touchend',function(e) { if(refresh) { //content.style['-webkit-transition-duration'] = '.5s'; content.style.top = '50px'; pullToRefresh.style.display = 'none'; refreshing.style.display = ''; success(function() { // pass down done callback pullToRefresh.style.display = ''; refreshing.style.display = 'none'; content.style.top = '0'; content.addEventListener('transitionEnd',removeTransition); }); refresh = false; } else if(track) { //content.style['-webkit-transition-duration'] = '.25s'; content.style.top = '0'; content.addEventListener('transitionEnd',removeTransition); cancel(); } track = false; }); document.body.addEventListener('touchmove',function(e) { var move_to = contentStartY - (startY - e.changedTouches[0].screenY); if(move_to > 0) track = true; // start tracking if near the top content.style.top = move_to + 'px'; if(move_to > 50) { refresh = true; } else { //content.style['-webkit-transition'] = ''; refresh = false; } }); } }; }();
谁能帮帮我吗.
解决方法
XPC错误不是来自调用像parseInt这样的纯Javascript方法(和radix参数)
是规范可选的,因此所有这些评论在很多方面都是错误的).
是规范可选的,因此所有这些评论在很多方面都是错误的).
您在所有addEventListener调用上都是missing the third useCapture
argument:
这里:
document.body.addEventListener('touchstart',function(e) { ... },false); //<-- add third argument
这里:
content.addEventListener('transitionEnd',removeTransition,false); //<-- add third argument
这里:
document.body.addEventListener('touchend',false); //<-- add third argument
和这里:
document.body.addEventListener('touchmove',false); //<-- add third argument
请注意,在newer specification,the argument has been made optional.但这并不重要.