将change、mouseup、mousedown、mouseout、keyup和keydown合二为一 [英] Combining change, mouseup, mousedown, mouseout, keyup and keydown into the one function

查看:44
本文介绍了将change、mouseup、mousedown、mouseout、keyup和keydown合二为一的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  1. 我有一个文本框,它假定在相应的选择框中选择的任何选项的值.
  2. 我正在为 on change、mouseup、mousedown、mouseout、keyup 和 keydown 事件重复完全相同的函数

我需要什么:

能否将上述功能合二为一以产生更高效的代码?只是看起来非常重复.

What I need:

Can the aforesaid functions be combined into one to produce more efficient code? It just seems terribly repetitious.

JSFiddle:http://jsfiddle.net/clarusdignus/843YW/1/

HTML:

<label>Industry:</label>
<select name="industry">
    <option selected="selected"></option>
    <option value="ag">Agriculture</option>
    <option value="co">Corporate</option>
</select>
<input type="text" disabled="disabled" name="industryspecifier"/>

jQuery:

$('select[name=industry]').on('change', function() {
    $('[name=industryspecifier]').val($(':selected',this).val());
});

$('select[name=industry]').on('mouseup', function() {
    $('[name=industryspecifier]').val($(':selected',this).val());
});

$('select[name=industry]').on('mousedown', function() {
    $('[name=industryspecifier]').val($(':selected',this).val());
});

$('select[name=industry]').on('mouseout', function() {
    $('[name=industryspecifier]').val($(':selected',this).val());
});


$('select[name=industry]').on('keydown', function() {
    $('[name=industryspecifier]').val($(':selected',this).val());
});

$('select[name=industry]').on('keyup', function() {
    $('[name=industryspecifier]').val($(':selected',this).val());
});

推荐答案

只需将它们与空格组合即可:

Just combine them with spaces:

$('select[name=industry]').on('change mouseup mousedown mouseout keydown', function() {
    $('[name=industryspecifier]').val($(':selected',this).val());
});

jsFiddle 示例

作为 .on() 的 文档 状态:

As the docs for .on() state:

events Type: String 一个或多个空格分隔的事件类型和可选的命名空间,例如click"或keydown.myPlugin".

events Type: String One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin".

这篇关于将change、mouseup、mousedown、mouseout、keyup和keydown合二为一的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆