最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net textbox javascript實(shí)現(xiàn)enter與ctrl+enter互換 文本框發(fā)送消息與換行(類似于QQ)

 更新時(shí)間:2012年01月09日 19:23:48   作者:  
今天與大家分享一下 asp.net textbox javascript實(shí)現(xiàn)enter與ctrl+enter互換 文本框發(fā)送消息與換行(類似于QQ),這個(gè)功能到底怎么實(shí)現(xiàn)?首先聲明以下幾點(diǎn)
1、也許講解有點(diǎn)初級(jí),希望高手不要“噴”我,因?yàn)槲抑啦⒉皇敲恳粋€(gè)人都是高手,我也怕高手們說(shuō)我裝13;
2、如有什么不對(duì)的地方,還希望大家指出,一定虛心學(xué)習(xí),如果有更好的辦法請(qǐng)告訴我一聲哦;
3、本文屬于作者原創(chuàng),尊重他人勞動(dòng)成果,轉(zhuǎn)載請(qǐng)注明作者,謝謝。
下面開(kāi)講:
  如題,這個(gè)功能也困擾了我一兩天事件了,我也上網(wǎng)找了很多資料,但是網(wǎng)上大部分的說(shuō)法都差不多,問(wèn)題始終還是沒(méi)解決,于是乎我開(kāi)始找是問(wèn)題的根源,我開(kāi)始用的是文本框的onkeydown事件,分別寫了兩個(gè)js函數(shù),如下:
復(fù)制代碼 代碼如下:

//enter發(fā)送
function IsEnter(evt)
{
if(window.event.keyCode ==13)
{
send();
return false;
}
}
//ctrl+enter發(fā)送
function IsEnterAndCtrl()
{
if(window.event.keyCode ==13 && window.event.ctrlKey)
{
send();
return false;
}
}

然后我就用文本框的onkeydown事件來(lái)調(diào)用這兩個(gè)函數(shù),可以一直效果不出來(lái),我就調(diào)試,發(fā)現(xiàn)event永遠(yuǎn)都是undefined,我無(wú)語(yǔ)了,然后我就換方法了,我把onkeydown函數(shù)里面加了一個(gè)event參數(shù),在IsEnter(evt)里面也定義了一下var obj = window.event ? evt.keyCode : evt.which;//window.event是針對(duì)IE,evt.keyCode是針對(duì)FF,這樣這個(gè)問(wèn)題就解決了,就不會(huì)出現(xiàn)undefined錯(cuò)誤了。
  接下來(lái)問(wèn)題又來(lái)了,我發(fā)現(xiàn)onkeydown事件只要你按鍵盤上的任意鍵就會(huì)觸發(fā)這個(gè)事件,那么就無(wú)法實(shí)現(xiàn)ctrl和enter同時(shí)按了,又是一個(gè)糾結(jié)的問(wèn)題啊,還有我們有onkeydown事件就有onkeyup事件,接下來(lái)我就把onkeydown事件換成了onkeyup事件了,這樣問(wèn)題就解決了。
  好了,問(wèn)題是越解決越少了,下面要做到是如何做到enter與ctrl+enter切換實(shí)現(xiàn)是換行還是發(fā)送消息?為了兼容性,我又定義了一個(gè)變量 var e = evt || window.event;我就是通過(guò)obj與e來(lái)實(shí)現(xiàn)換行與發(fā)送切換的,詳細(xì)js代碼如下:
復(fù)制代碼 代碼如下:

//enter or ctrl+enter發(fā)送
function IsEnter(evt)
{
var obj = window.event ? evt.keyCode : evt.which;
var e = evt || window.event;
var type = document.getElementById("sendtype");
var txt = document.getElementById("txtcontent");
if(type.innerHTML=="[Enter發(fā)送消息]")
{
if(obj ==13 && !(e.ctrlKey))
{
send();
e.returnValue = false;
txt.value="";
return false;
}
if(e.ctrlKey && e.keyCode==13)
{
txt.value +="\n";
}
}
else
{
if(e.ctrlKey && e.keyCode==13)
{
send();
return false;
}
}
}

注意:以上代碼我都已經(jīng)在IE6、IE8、FF里測(cè)試過(guò),絕對(duì)有用,由于按enter發(fā)送消息的時(shí)候會(huì)與換行沖突,所以我用e.returnValue = false;txt.value="";不知道有沒(méi)有更好的方法?

相關(guān)文章

  • asp.net下用Aspose.Words for .NET動(dòng)態(tài)生成word文檔中的數(shù)據(jù)表格的方法

    asp.net下用Aspose.Words for .NET動(dòng)態(tài)生成word文檔中的數(shù)據(jù)表格的方法

    導(dǎo)出word 文檔,要求這個(gè)文檔的格式不是固定的,用戶可以隨便的調(diào)整,導(dǎo)出內(nèi)容中的數(shù)據(jù)表格列是動(dòng)態(tài)的,例如要求導(dǎo)出姓名和性別,你就要導(dǎo)出這兩列的數(shù)據(jù),而且這個(gè)文檔不是導(dǎo)出來(lái)之后再調(diào)整而是導(dǎo)出來(lái)后已經(jīng)是調(diào)整過(guò)了的。
    2010-04-04
  • 詳述ASP.Net中頁(yè)面之間傳參方法

    詳述ASP.Net中頁(yè)面之間傳參方法

    本文主要詳述ASP.NET中頁(yè)面之間傳遞參數(shù)的方法,共介紹了三種方法,有需要的朋友可以來(lái)了解一下。
    2016-10-10
  • 解決asp.net ajax sys未定義的解決方法

    解決asp.net ajax sys未定義的解決方法

    這個(gè)方法絕對(duì)it560原創(chuàng),而且會(huì)讓大家少走彎路,對(duì)于網(wǎng)上流傳的webconfig配置錯(cuò)誤的說(shuō)法絕對(duì)是忽悠人,配置文件錯(cuò)誤的記錄大概是0.1%
    2010-06-06
  • 利用.net代碼實(shí)現(xiàn)發(fā)送郵件

    利用.net代碼實(shí)現(xiàn)發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了利用.net代碼實(shí)現(xiàn)發(fā)送郵件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • ASP.NET Core MVC/WebApi基礎(chǔ)系列1

    ASP.NET Core MVC/WebApi基礎(chǔ)系列1

    這篇文章主要介紹了ASP.NET Core MVC/WebApi基礎(chǔ)系列,后續(xù)會(huì)穿插講EF Core和ASP.NET Core,雖說(shuō)是基礎(chǔ)系列但也是也有你不知道的。
    2019-04-04
  • ASP.NET技巧:做個(gè)DataList可分頁(yè)的數(shù)據(jù)源

    ASP.NET技巧:做個(gè)DataList可分頁(yè)的數(shù)據(jù)源

    ASP.NET技巧:做個(gè)DataList可分頁(yè)的數(shù)據(jù)源...
    2006-09-09
  • ASP.NET?Core?6.0?基于模型驗(yàn)證的數(shù)據(jù)驗(yàn)證功能

    ASP.NET?Core?6.0?基于模型驗(yàn)證的數(shù)據(jù)驗(yàn)證功能

    這篇文章主要介紹了ASP.NET?Core?6.0?基于模型驗(yàn)證的數(shù)據(jù)驗(yàn)證,本文描述的數(shù)據(jù)驗(yàn)證方案,是基于官方的模型驗(yàn)證(Model validation),需要的朋友可以參考下
    2022-07-07
  • asp.net core下給網(wǎng)站做安全設(shè)置的方法詳解

    asp.net core下給網(wǎng)站做安全設(shè)置的方法詳解

    這篇文章主要給大家介紹了關(guān)于asp.net core下給網(wǎng)站做安全設(shè)置的相關(guān)資料,文章通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 解協(xié)議時(shí)有符號(hào)和無(wú)符號(hào)整數(shù)型處理

    解協(xié)議時(shí)有符號(hào)和無(wú)符號(hào)整數(shù)型處理

    這篇文章主要介紹了解協(xié)議時(shí)有符號(hào)和無(wú)符號(hào)整數(shù)型處理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • MAUI項(xiàng)目中使用SnackBar與Toast通知功能

    MAUI項(xiàng)目中使用SnackBar與Toast通知功能

    這篇文章介紹了MAUI項(xiàng)目中使用SnackBar與Toast通知功能的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02

最新評(píng)論

武乡县| 永顺县| 长寿区| 福鼎市| 北安市| 咸阳市| 武胜县| 宜兰县| 阳新县| 手游| 沈丘县| 中卫市| 临桂县| 通州市| 分宜县| 邻水| 冕宁县| 个旧市| 延安市| 米易县| 扎囊县| 平谷区| 莎车县| 武安市| 德格县| 福安市| 大化| 郓城县| 都兰县| 祁连县| 双流县| 京山县| 长治县| 策勒县| 石首市| 达日县| 奈曼旗| 南康市| 万宁市| 平度市| 永靖县|