首页 > 解决方案 > 创建自定义 jquery 函数以选择所有给定元素类型的焦点

问题描述

我经常在我们的 Web 应用程序中有几个视图,我们希望指定某些输入和文本区域(selectAll例如具有类的区域)以全选焦点。下面函数中的代码效果很好,但由于我们经常使用它,我们更希望有一个通用函数来调用。

因此,我在下面的尝试是使用这个自定义 jquery 函数(不确定这是否是正确的术语......也许是插件?)

$.fn.selectAllOnFocus = function () {
    $('body').on('focus', this, function (e) {
        $(this)
            .one('mouseup', function () {
                $(this).select();
                return false;
            })
            .select();
    }); 
};

然后为给定的选择器调用它:

<script type="text/javascript">

    jQuery(function($){
        $('input.selectAll, textarea.selectAll').selectAllOnFocus();
    });

</script>

我已经尝试将this变量包装.on在 jquery 实例化器中的参数中(同样,我可能正在编造这个术语来表示它没有的含义:)),$(this)但无济于事。如您所知,我不是 jquery 最强的,我错过了什么?

标签: jquery

解决方案


我很接近。需要获取jquery对象的selector属性

$.fn.selectAllOnFocus = function () {
$('body').on('focus', this.selector, function (e) {
    $(this)
        .one('mouseup', function () {
            $(this).select();
            return false;
        })
        .select();
}); 

};


推荐阅读