我已將一個名爲scrollpaper的插件添加到我正在處理的網站中。該插件用於兩個靜態頁面,並在html片段上附加到該網站。刪除導致錯誤的附加元素
的問題是,當在所附片段,其調用函數被去除,使用:
$(this).remove();
我得到與所述scrollpaper插件以下錯誤:
TypeError: 'undefined' is not an object (evaluating 'data.clearer')
發生錯誤的片段被移除的時刻。它不會導致任何實際的性能問題,並且當我重新附加片段時,插件仍被成功調用並執行,但錯誤確實堆積了起來,我非常想解決它們。
主要插件文件包含在每個頁面的底部,與靜態頁面進行調用下面所添加:
<script src="js/jquery.scrollbarpaper.js"></script>
<script type="text/javascript">
$(function() {
$('.scrollpaper-trigger').scrollbarPaper();
});
</script>
第二個呼叫被添加到附加的HTML:
<script>
$(function() {
$('.scrollpaper-trigger-lightbox').scrollbarPaper();
});
</script>
你可以看到網站與錯誤:http://foleys.be/new-site/index.php
如何重現問題:
- 打開網頁檢查/火錯誤
- 啓動要麼全,方,設置菜單或準備金在線表格
- 無論是通過點擊疊加/關閉按鈕關閉打開的元素,或切換菜單在菜單頁面的底部。
- 這將觸發錯誤
要解決自己的問題,我到目前爲止已經試過只加入鹼插件文件所附的元素(而忽略靜態網頁),我也嘗試使用.html('')
和.empty('')
。代替.remove()
,但這並沒有幫助。
我只使用JQuery工作了幾個月,所以儘管我已經熟悉它是如何工作的,並且我很想學習最佳實踐。然而,目前這個問題已經超出了我的想法,所以任何和所有的幫助都會受到極大的讚賞。
菜單翻轉腳本:
$('.other-menus a').click(function() {
var url = $(this).attr('data-url');
$('.switch').fadeOut(500,
function() {
$(this).detach();
$('<div></div>').load(url).fadeIn(800).appendTo('.switch-wrap');
})
});
+1想解決甚至非阻塞問題。您是否嘗試過暫時刪除Scrollpaper並查看您的錯誤是否仍然存在? – Bojangles
歡呼聲,總是最好的理解爲什麼有些事情會發出錯誤,因爲你永遠不知道什麼時候會把它變成更嚴重的事情。 – Dave