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>

<!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>

时间: 2024-11-16 16:39:51

html搜索 中英文状态 如何区分的相关文章

UVa 1252 - Twenty Questions(记忆化搜索,状态压缩dp)

题目链接:uva 1252 题意: 有n个长度为m的二进制串,每个都是不同的. 为了把所有字符串区分开,你可以询问,每次可以问某位上是0还是1. 问最少提问次数,可以把所有字符串区分开来. 思路来源于:点击打开链接 思路: m很小,可以考虑状态压缩. dp[s1][s2]表示询问的状态为s1时,此时能猜到状态包含s2时最小需要的步数. 当询问的几位=s2的二进制串小于2时就能区分出来了,dp[s1][s2]=0: 不能区分则再询问一次,s1|=(1<<k),如果问某位为0,则s2不变,问某位为

Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用 ----转----

Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用 Hibernate的对象有3种状态,分别为:瞬时态(Transient). 持久态(Persistent).脱管态(Detached).处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object). 瞬时态         由new命令开辟内存空间的java对象, eg. Person person = new Person(

Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用

Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用 Hibernate的对象有3种状态,分别为:瞬时态(Transient). 持久态(Persistent).脱管态(Detached).处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object). 瞬时态         由new命令开辟内存空间的java对象, eg. Person person = new Person(

获取网络状态,区分2G3G4GWIFI等,非reachability

+(NSString *)getNetWorkStates{ UIApplication *app = [UIApplication sharedApplication]; NSArray *children = [[[app valueForKeyPath:@"statusBar"]valueForKeyPath:@"foregroundView"]subviews];    NSString *state = [[NSString alloc]init];   

Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用 引自http://www.blogjava.net/TiGERTiAN/archive/2008/10/25/236519.html

Hibernate的对象有3种状态,分别为:瞬时态(Transient). 持久态(Persistent).脱管态(Detached).处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object). 瞬时态         由new命令开辟内存空间的java对象, eg. Person person = new Person("xxx", "xx"); 如果没有变量对该对象进行引用,它将被java虚拟机

laravel使用when搜索遇到状态参数(有0的状态)的坑

今天,使用when()方法写活动列表的接口,有两个状态搜索,都有0这个状态,当传参为0时when()就失效了... 反反复复的验证参数,传参确实是0和1啊...百思不得其解~~~后面仔细想想when()的原理!!明白自己给自己挖坑了,改成这样就OK了 还是要理解工作原理啊~~~ 原文地址:https://www.cnblogs.com/sgm4231/p/9680788.html

AltiumDesigner元器件搜索中英文对照

个人常用 扬声器 spearker 计量表(电流表,电压表) meter 变压器 Trans CT 额外补充 英文名称       中文释义 2N3904  NPN型通用放大器 2N3906  PNP型通用放大器 ADC-8   通用的8位AD转换器 Antenna 天线 Battery   电池组 Bell  铃 Bridgel   整流桥堆 Buzzer    蜂鸣器 Cap 电容 Cap Feed       穿心电容器 Cap Semi       半导体电容 Cap Var  可调电容

用BFS和DFS解决圆盘状态搜索问题

人工智能课程的实验(我的解法其实更像是算法课程的实验) 用到的算法:深度优先搜索.宽度优先搜索(状态扩展的不同策略) 数据结构:表示状态的结构体.多维数组 (可能是最近做算法竞赛题的影响,这次并不像以前那样依赖类和面向对象了,而是用最简单(几乎没有封装)的数据表示方法和大量的全局变量来存储数据,用面向过程的写法,以快速解决某一问题为目的设计程序.安全性和可扩展性势必降低,有些技巧的使用也让代码变得难懂:但是代码简洁,节省运行的时间和空间开销,这应该就是算法竞赛更加看重的吧) 这次用了C++写了控

Android FM模块学习之二 FM搜索频率流程

上一篇大概分析了一下FM启动流程,若不了解Fm启动流程的,能够去打开前面的链接先了解FM启动流程,接下来我们简单分析一下FM的搜索频率流程. 在了解源代码之前.我们先看一下流程图: 事实上从图中能够看到,实现搜索频率的功能是在底层CPP文件.java层仅仅操作和更新一些界面(GUI),Java调用JNI实现功能.Java app基本核心,通过方法回调实现a类和b类方法.b类调a类方法信息交互相互控制融为一体.App实现一些JNI接口终于实现核心功能是cpp文件,最后通过Service类(耗时操作