簡體   English   中英

重新運行自定義的Modernizr測試

[英]re-run custom Modernizr test

我有一個測試,該測試將根據某些用戶交互而改變。 我正在嘗試將其與modernizr聯系起來。

我試圖通過再次調用addTest強制測試重新運行。

//this works the first time
//adds html.mousing class
Modernizr.addTest('mousing',function(){
    return true;
});


//later in the code
//this DOES NOT add html.no-mousing
Modernizr.addTest('mousing',function(){
    return false;
});

有任何想法如何重新運行或刷新現代化測試?

Modernizr用於測試瀏覽器功能,而不是根據用戶交互作用隨意切換類。 (僅僅因為用戶與您的頁面進行了交互並不意味着瀏覽器突然無法“移動” )。 最好不要將其添加為Modernizr測試,而僅在需要時添加/刪除類名。

但是,要回答您的問題,您將需要在Modernizr上刪除鼠標的緩存值,然后重新運行測試,同時手動刪除html元素上任何匹配的類名。 就像是:

Modernizr.addTest('mousing',function(){
  return true;
});
/* ... */
delete Modernizr.mousing;
Modernizr.addTest('mousing',function(){
  document.html.className = document.html.className.replace(/\b(no-)?mousing\b/g, '');
  return false;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM