就像qq发送小心快捷键的切换一样,ctrl+enter换行、enter发送消息;ctrl+enter发送消息、enter换行主要是两种方式的切换,这个功能怎么实现

解决方案 »

  1.   

    处理按键事件
     $("#Password").keydown(function (event) {
                    switch (event.keyCode) {
                        case 13:     //enter key
                            $("#LoginForm").submit();
                            break;
                    }
                });
      

  2.   

    可以通过一个隐藏字段控制ctrl+enter是发送消息还是换行
      

  3.   

    这个就是在ie中叫
    altKey ctrlKey shiftKey在非ie中叫
    metaKey
      

  4.   

    我不是回答你了吗<script>
    var down = false;
    function fun(isDown, e){
    //释放按下ctrl记录,并终止执行
    if(!isDown){
    down = false;
    return false;
    }
    e = e || window.event;
    //ctrl(17)
    if(e.keyCode == 17){
    //当ctrl按下时记录
    down = true;
    }
    //enter(13)
    if(e.keyCode == 13){
    //当enter按下时判断ctrl是否是按下状态
    if(down){
    /*
    发送消息操作,你自己写这块吧,用ajax或表单都行
    */
    alert("发送消息...");
    }
    }
    }
    </script><form action="" method="post">
    内容:<textarea name="content" onkeydown="fun(true, event)" onkeyup="fun(false, event)"></textarea>
    </form>
      

  5.   

    楼上的想的复杂了!给你一段ie下的代码,非ie你自己写 <html>
    <head>
    <title></title>
    </head>
    <body>
    <div>
    <span>请选择风格(默认风格一)</span>
    <select id='sel'>
    <option value='true' selected="true">风格一</option>
    <option value='false'>风格二</option>
    </select>
    </div>
    <div>
    <textarea id='text' style='width:400px;height:300px;'></textarea>
    </div>
    <script type='text/javascript'>
    document.getElementById('text').onkeyup = function(e){
    var is = document.getElementById('sel').value == 'true';
    if (event.keyCode == 13){
    if (is){
    if (event.ctrlKey){
    this.value += '\n';
    }else{
    alert('发送信息...');
    this.value='';
    }
    }
    else if (event.ctrlKey){
    alert('发送信息...');
    this.value='';
    }

    }
    };
    </script>
    </body>
    </html>
      

  6.   


    ctrl+enter 发送,enter换行好处理,关键是 enter发送,ctrl+enter换行