0
我構建了一個腳本,用於檢查html5本地存儲cookie,並在沒有設置cookie的情況下自動啓動模態窗口。它適用於語言選擇器,一旦選擇了語言,用戶將留在頁面(EN)或重定向到法國站點(FR)。event.preventdefault僅在Firefox中不起作用
問題是,它不能在Firefox中工作。實際上,模態窗口(reveal.js)完全不起作用。繼續獲取event.preventdefault錯誤。
這裏是我的代碼:
<script type="text/javascript">
function langCheck(){
var LS = localStorage.getItem('lang');
if (LS == null) {
$('#popup').click()
} else if (LS == "FR") {
alert("This is French")
/* window.location.replace("http://www.supermarchepa.com/fr/index.html"); */
}
}
function setToEng(){
localStorage.setItem('lang', 'EN');
$('#myModal').trigger('reveal:close')
}
function setToFr(){
localStorage.setItem('lang', 'FR')
}
window.onload = langCheck;
</script>
模態窗口會自動顯示出來(在第一次訪問),或者用戶可以使用自己的語言設置:
<a href="#" class="big-link" data-reveal-id="myModal" data-animation="fade" data-closeonbackgroundclick="false" data-animationspeed="300" id="popup">Select Language</a>
人有什麼想法?
在此先感謝
而這是'preventDefault()'在哪裏?無論如何,在IE和Chrome中,事件對象是全局的,在Firefox中你必須將它作爲參數傳遞,這很可能是問題,但是看看代碼,它並不立即顯示它應該傳遞到哪裏,它被使用了? – adeneo
對不起,錯誤指向插件文件(reveal.js)。這裏是該文件中的代碼片段。 (函數($){(document).on(「click」,'a [data-reveal-id]',function(e){event.preventDefault(); var modalLocation = $(this))。 attr('data-reveal-id'); $('#'+ modalLocation).reveal($(this).data()); }); – user127181