Journal(2005) | Blog(2006) | RandomLink | WhoAmI | LiveBookmark | HomePage

<<Previous: Day [05.5.10] China.pm.org  >>Next: split

Javascript: Events

Category: Javascript   Keywords: Javascript Events Ctrl+Enter

问题

用过 QQ 的人都熟悉用 Ctrl+Enter 来发送信息。
网上大部分论坛程序都支持用 Ctrl+Enter 发表帖子,不过当我使用 Firefox 时,大部分论坛(我知道的都不成)这个功能都实效了。
跟 Joe 在 IRC 里说起 Gmail 的 hotkey, 发现在 Firefox 里也是可以使用的。不过找不到 Gmail 的源代码,还好可以用 Google

解决方案


<script type="text/javascript">
var x,q;

function ctlent(e){
  if (document.all){
    x = window.event.keyCode;
    q = event.ctrlKey;
  } else {
    x = e.keyCode;
    q = e.ctrlKey;
  }
  if (q && x==13) {
    this.document.FORM.submit();
    this.document.FORM.Submit.disabled = true;
  }
  if (!document.all){
       window.captureEvents(Event.KEYPRESS);
       window.onkeypress = ctlent;
  }else{
       document.onkeypress = ctlent;
  }
}

function submitonce(form){
    for (var i=0;i<form.elements.length;i++) {
        var e=form.elements[i];
        if(e.type.toLowerCase()=="submit") e.disabled=true;
    }
}
</script>
<form name="FORM" onSubmit="submitonce(this)">
<textarea cols=75 name=inpost onKeyDown="ctlent(event)" rows=7></textarea>
<INPUT name="Submit" type=submit>
</form>

Refer

<<Previous: Day [05.5.10] China.pm.org  >>Next: split

Options: +Del.icio.us

Related items Created on 2005-05-10 23:36:36, Last modified on 2005-10-14 01:00:59
Copyright 2004-2005 All Rights Reserved. Powered by Eplanet && Catalyst 5.62.