账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何监听textarea内容的变化?
    60
    0

    1.onchange不能用。
    2.oninput在中文输入法下,一按下就触发了,我想要文本框中内容发生改变时才触发。
    3.compositionend与compositionstart这对组合对第一次输入无效(之后有效)

    如下代码,当输入第一个汉字的时候不触发,从第二个汉字才开始触发

    
        function bind (){
            var flag = true;
            $('#querySmartbox').on('compositionstart',function(){
                
                flag = false;
            })
            $('#querySmartbox').on('compositionend',function(){
                
                flag = true;
            })
            $('#querySmartbox').on('input',function(){
                
                setTimeout(function(){
                    if(true){
                        //querySmartbox(question)
                        alert($('#querySmartbox').val())
                    }
                },100)
            })
        }
    

    网上找了许久没有想要的答案。
    多谢!

    2
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 拳拳杀气 普通会员 1楼

      在JavaScript中,你可以使用事件监听器来监听textarea的内容变化。以下是一个简单的例子:

      ```javascript // 获取textarea元素 var textarea = document.getElementById('my-textarea');

      // 创建一个事件监听器,当textarea的内容发生变化时,该监听器将被触发 textarea.addEventListener('input', function() { console.log('textarea内容发生变化'); }); ```

      在这个例子中,当textarea的内容发生变化时,控制台将打印出"textarea内容发生变化"。

      如果你想监听textarea的焦点变化(即当textarea被选中时),你可以使用addEventListener方法,如下所示:

      ```javascript // 获取textarea元素 var textarea = document.getElementById('my-textarea');

      // 创建一个事件监听器,当textarea被选中时,该监听器将被触发 textarea.addEventListener('focus', function() { console.log('textarea被选中'); }); ```

      在这个例子中,当textarea被选中时,控制台将打印出"textarea被选中"。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部