当用户通过webkit取消按钮取消输入时会触发什么事件?

Dam*_*che 15 javascript jquery html5

某些浏览器(如Chrome)会在输入上提供额外的搜索取消按钮type="search",如下图所示.

通常keyup,附加检查足以测试用户是否删除了输入字符串(不是右键点击帐户).但是,如果用户通过webkit浏览器提供的特殊取消按钮取消输入,则既keyup不会change触发也不会触发.

这些取消按钮是否有某种特殊事件?或者我是否必须检查已存在的事件之一click

chrome的屏幕截图

Emr*_*kan 27

有一个事件:oninput.

通过用户界面更改元素的文本内容时发生.

如果要检测textarea的内容,输入:text,input:password或input:search元素是否已更改,则oninput非常有用,因为当元素失去焦点时,这些元素上的onchange事件会触发,而不是在修改后立即触发.

这是一个有效的例子 ;

HTML:

<input type="search" name="search" id="search" placeholder="Search..." />
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('#search').on('input', function(e) {
    if('' == this.value) {
        alert('Please enter a search criteria!');
    }
});
Run Code Online (Sandbox Code Playgroud)


小智 7

有一个事件:onsearch.

调用onsearch事件的操作:

按ENTER键或单击搜索控件中的"删除搜索文本"按钮.

这是一个例子:

HTML:

<input type="search" name="search" id="search" placeholder="Search..." />
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('#search').on('search', function(e) {
    if('' == this.value) {
        alert("You either clicked the X or you searched for nothing.");
    }
});
Run Code Online (Sandbox Code Playgroud)