測試瀏覽器:ie11以下,firefox46,chrome50.
一、問題場景:
乙個表單,提交按鈕為input type=submit。改為button後,無法實現按下回車提交。
tips:如果只有乙個input,則按下回車就會提交如果有多個input,則input的type為submit時才能按下回車提交
如果提交按鈕為button,按下回車不會提交。
二、解決
ie和chrome能很好的支援window.event,但是firefox不行,必須把event寫在函式定義的引數部分。
如果
addevent(document, "keypress", handler);
改為addevent(document, "keypress", handler(event));
則firefox會報錯:event為定義。
但如果在html中傳入引數,則不會報錯。比如上面的**可以改為
通過元素的οnkeypress=來傳送event引數就可以。
三、注意
1、onkeypress與onkeydown/onkeyup區別
返回值不同:前者返回ascii碼,後者返回按鍵的ascii碼,無論大小寫;
前者不能支援"f1", "caps lock"、"home"等功能鍵,後者可以另外,onkepress事件下,firefox不能正確識別keycode,需要用event.which替代
瀏覽器跨域解決方案
今天介紹乙個實用的瀏覽器跨域方案。比如 a 嵌入了 b 的頁面,這時 b 的頁面想要呼叫 a 的頁面的方法,因為網域名稱不同,由於瀏覽器同源策略的限制會被 blocked 掉的。以下給出乙個方法 在 a 的寫下 window.addeventlistener message function obj...
跨瀏覽器的本地儲存解決方案
跨瀏覽器的本地儲存多種方式,例如 1 localstorage 只支援ie8 firefox chrome opera等,不支援ie8以下的瀏覽器。2 瀏覽器cookie 支援的資料儲存量相對較少,每個domain最多只能有20條cookie,每個cookie長度不能超過4kb,否則會被截掉,有些瀏...
跨瀏覽器的本地儲存解決方案
跨瀏覽器的本地儲存多種方式,例如 1 localstorage 只支援ie8 firefox chrome opera等,不支援ie8以下的瀏覽器。2 瀏覽器cookie 支援的資料儲存量相對較少,每個domain最多只能有20條cookie,每個cookie長度不能超過4kb,否則會被截掉,有些瀏...