国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

兼容IE與firefox火狐的回車事件(js與jquery)

2019-11-21 00:11:27
字體:
供稿:網(wǎng)友
javascript 兼容IE與firefox火狐的回車事件
復(fù)制代碼 代碼如下:

<script language="javascript">
function keypress(e)
{
var currKey=0,e=e||event;
if(e.keyCode==13)document.myform.submit();
}
document.onkeypress=keypress;
</script>


復(fù)制代碼 代碼如下:

<script>
document.onkeydown=function(event)
{
e = event ? event :(window.event ? window.event : null);
if(e.keyCode==13){
//執(zhí)行的方法
alert('回車檢測到了');
}
}
</script>


jquery 兼容IE與firefox火狐的回車事件
復(fù)制代碼 代碼如下:

$(document).ready(function(){
$("按下回車的控件").keydown(function(e){
var curKey = e.which;
if(curKey == 13){
$("#回車事件按鈕控件").click();
return false;
}
});
});

jquery多瀏覽器捕捉回車事件代碼
復(fù)制代碼 代碼如下:

$(document).keydown(function(event) {
if (event.keyCode == 13) {
$('form').each(function() {
//你的要運(yùn)行的代碼
});
}
});


基于jquery的button默認(rèn)enter事件(回車事件)
這里我介紹一下,button按鈕默認(rèn)回車(enter)事件。如果大家可以用submit,就不用看以下代碼,因?yàn)閟ubmit可以直接默認(rèn)回車事件(enter)
在這里特此聲明,代碼是通過jquery完成。實(shí)列代碼我親自寫的,完全可以實(shí)現(xiàn),只要復(fù)制過去就可以用,但是必須導(dǎo)入jquery包。著個(gè)方法支持ie與火狐,絕對(duì)好使。我在做的時(shí)候在網(wǎng)上找了一些代碼,基本全不支持火狐。好了,廢話也說了不少了。開始代碼演示。歡迎大家挑錯(cuò),與技術(shù)指點(diǎn),謝謝。
復(fù)制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W< xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-com:office:smarttags" />3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>火狐和IE都支持的enter事件</title>
<script src="jquery.1.3.2.js" type="text/javascript" language="javascript"></script>
<script type="text/javascript">
document.onkeydown = function (e) {
var theEvent = window.event || e;
var code = theEvent.keyCode || theEvent.which;
if (code == 13) {
$("#but1").click();
}
}
$(document).ready(function () {
$("#but1").click(function () {
alert("我是enter事件," + "text值:" + $("#text1").val());
})
$("#but2").click(function () {
alert("我是Jquery事件" + "text值:" + $("#text1").val());
})
});
</script>

這個(gè)問題解決了,如果有更好的解決方案也希望拿出來一起分享一下。

今天做一個(gè)回車鍵提交表單登錄的功能,我的代碼如下:
復(fù)制代碼 代碼如下:

<script language="javascript">
function document.onkeypress()
{
if(event.keyCode==13)document.myloginform.submit();
}
</script>

在火狐里執(zhí)行的時(shí)候得到了一個(gè)錯(cuò)誤: missing ( before formal parameters

根據(jù)網(wǎng)上的建議我又改了我的源代碼:
復(fù)制代碼 代碼如下:

<script language="javascript">
document.onkeypress=function()
{
if(event.keyCode==13)document.myloginform.submit();
}
</script>

又得到了一個(gè) event is not defined 的錯(cuò)誤。

苦苦尋覓,我找到了它(原文如下):
主要分四個(gè)部分
第一部分:瀏覽器的按鍵事件
第二部分:兼容瀏覽器
第三部分:代碼實(shí)現(xiàn)和優(yōu)化
第四部分:總結(jié)

第一部分:瀏覽器的按鍵事件

用 js實(shí)現(xiàn)鍵盤記錄,要關(guān)注瀏覽器的三種按鍵事件類型,即keydown,keypress和keyup,它們分別對(duì)應(yīng)onkeydown、 onkeypress和onkeyup這三個(gè)事件句柄。一個(gè)典型的按鍵會(huì)產(chǎn)生所有這三種事件,依次是keydown,keypress,然后是按鍵釋放時(shí) 候的keyup。

在這3種事件類型中,keydown和keyup比較底層,而keypress比較高級(jí)。這里所謂的高級(jí)是指,當(dāng)用戶按 下shift + 1時(shí),keypress是對(duì)這個(gè)按鍵事件進(jìn)行解析后返回一個(gè)可打印的"!"字符,而keydown和keyup只是記錄了shift + 1這個(gè)事件。[1]

但是keypress只能針對(duì)一些可以打印出來的字符有效,而對(duì)于功能按鍵,如F1-F12、 Backspace、Enter、Escape、PageUP、PageDown和箭頭方向等,就不會(huì)產(chǎn)生keypress事件,但是可以產(chǎn)生 keydown和keyup事件。然而在FireFox中,功能按鍵是可以產(chǎn)生keypress事件的。

傳遞給keydown、keypress和keyup事件句柄的事件對(duì)象有一些通用的屬性。如果Alt、Ctrl或Shift和一個(gè)按鍵一起按下,這通過事件的altKey、ctrlKey和shiftKey屬性表示,這些屬性在FireFox和IE中是通用的。

第二部分:兼容瀏覽器

凡是涉及瀏覽器的js,就都要考慮瀏覽器兼容的問題。
目前常用的瀏覽器主要有基于IE和基于Mozilla兩大類。Maxthon是基于IE內(nèi)核的,而FireFox和Opera是基于Mozilla內(nèi)核的。

2.1 事件的初始化

首先需要了解的是如何初始化該事件,基本語句如下:

function keyDown(){}
document.onkeydown = keyDown;

當(dāng)瀏覽器讀到這個(gè)語句時(shí),無論按下鍵盤上的哪個(gè)鍵,都將呼叫KeyDown()函數(shù)。

2.2 FireFox和Opera的實(shí)現(xiàn)方法

FireFox和Opera等程序?qū)崿F(xiàn)要比IE麻煩,所以這里先描述一下。

keyDown()函數(shù)有一個(gè)隱藏的變量 主站蜘蛛池模板: 金坛市| 金塔县| 乐亭县| 东宁县| 阳西县| 平潭县| 城固县| 高青县| 繁峙县| 达孜县| 永平县| 通化市| 兴安县| 都匀市| 三台县| 庄浪县| 瑞丽市| 三穗县| 中超| 翁源县| 桐城市| 富裕县| 镇坪县| 大余县| 拉萨市| 股票| 娄底市| 仁怀市| 富民县| 堆龙德庆县| 万载县| 益阳市| 曲阜市| 区。| 岢岚县| 固始县| 锡林浩特市| 苏尼特左旗| 巴青县| 西华县| 应用必备|