zoukankan      html  css  js  c++  java
  • html搜索 中英文状态 如何区分

    本文主要解决的问题; 中文输入法下  如何做到不会用拼音搜索

    可参考: https://zhuanlan.zhihu.com/p/25709544

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>input输入框for中文输入法</title>
        <script src="vue-2.js "></script>
        <style>
            .div{
                margin-bottom: 10px;
            }
        </style>
    </head>
    <body>
    <div id="app">
        <label for="">监听onchange事件</label>
        <input type="text" v-model="changetext" v-on:change="change"  placeholder="请试试中文输入法和英文输入法">
        <div>
            onchange输入值:{{changevalue}}
        </div>
        <label for="">keydown事件</label>
        <input type="text" v-model="keydowntext" @keydown="keydown" placeholder="请试试中文输入法和英文输入法">
        <div>
            keydown输入值:{{keydownvalue}}
        </div>
        <label for="">监听input事件,@input="input"(vue1 不可用,vue2 可用)</label>
        <input type="text" v-model="inputtext"  @input="input" placeholder="请试试中文输入法和英文输入法">
        <div>
            input输入值:{{inputvalue}}
        </div>
    
    </div>
    <script src="//cdn.bootcss.com/vue/2.1.10/vue.js"></script>
    <script >
        new Vue({
            el: '#app',
            data: {
                inputvalue: '',
                inputtext: '',
                changevalue: '',
                changetext: '',
                keydownvalue: '',
                keydowntext: '',
                compositiontext: '',
                compositionvalue: ''
            },
            methods: {
                input: function (val) {
                    //console.log(this.inputtext+ "  " + this.inputtext)
                    if (this.inputtext != this.inputvalue) {
                        console.log("input:" + this.inputtext)
                        this.inputvalue = this.inputtext
                    }
                },
                compositioninput: function (val) {
                    console.log("compositioninput:" + this.compositiontext)
                    this.compositionvalue = this.compositiontext
                },
                change: function (val) {
                    console.log("change:" + this.changetext)
                    this.changevalue = this.changetext
                },
                keydown: function (val) {
                    console.log("keydown:" + this.keydowntext)
                    this.keydownvalue = this.keydowntext
                },
                compositionend: function(val) {
                    console.log("compositionend:" + this.compositiontext)
                    this.compositionvalue = this.compositiontext
                }
            }
        })
    </script>
    </body>
    </html>
    View Code
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>input输入框for中文输入法</title>
        <script src="vue-1.js "></script>
        <style>
            .div{
                margin-bottom: 10px;
            }
        </style>
    </head>
    <body>
    <div id="app">
        <label for="">监听onchange事件</label>
        <input type="text" v-model="changetext" v-on:change="change"  placeholder="请试试中文输入法和英文输入法">
        <div>
            onchange输入值:{{changevalue}}
        </div>
        <label for="">keydown事件</label>
        <input type="text" v-model="keydowntext" @keydown="keydown" placeholder="请试试中文输入法和英文输入法">
        <div>
            keydown输入值:{{keydownvalue}}
        </div>
        <label for="">监听input事件,@input="input"(仍旧无法监听组合事件)</label>
        <input type="text" v-model="inputtext"  @input="input" placeholder="请试试中文输入法和英文输入法">
        <div>
            input输入值:{{inputvalue}}
        </div>
        <label for="">input+composition 监听compositionend事件,@compositionend="compositionend"</label>
        <input type="text" v-model="compositiontext" @input="compositioninput" @compositionend="compositionend" placeholder="请试试中文输入法和英文输入法">
        <div>
            input输入值:{{compositionvalue}}
        </div>
    </div>
    <script >
        new Vue({
            el: '#app',
            data: {
                inputvalue: '',
                inputtext: '',
                changevalue: '',
                changetext: '',
                keydownvalue: '',
                keydowntext: '',
                compositiontext: '',
                compositionvalue: ''
            },
            methods: {
                input: function (val) {
                    console.log("input:" + this.inputtext)
                    this.inputvalue = this.inputtext
                },
    
                change: function (val) {
                    console.log("change:" + this.changetext)
                    this.changevalue = this.changetext
                },
                keydown: function (val) {
                    console.log("keydown:" + this.keydowntext)
                    this.keydownvalue = this.keydowntext
                },
                compositioninput: function (val) {
                    if(this.compositionvalue != this.compositiontext) {
                        console.log("do query 2:" + this.compositiontext)
                        this.compositionvalue = this.compositiontext
                    }
                },
                compositionend: function(val) {
                    console.log("do query:" + this.compositiontext)
                    this.compositionvalue = this.compositiontext
                }
            }
        })
    </script>
    </body>
    </html>
    View Code
  • 相关阅读:
    常用的几个vagrant命令
    window下sh文件在linux转码
    centos 7 免密登录
    centos7系列-给普通用户sudo权限
    Hadoop hdfs完全分布式搭建教程
    ribbon的注解使用报错--No instances available for [IP]
    修改VirtualBox虚拟机默认存储路径及虚拟机迁移方法
    【SpringMVC】文件上传Expected MultipartHttpServletRequest: is a MultipartResolver错误解决
    发现不错待研究的技术
    android的开发 华为手机上不显示menu键
  • 原文地址:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/6696950.html
Copyright © 2011-2022 走看看