Создать пользовательскую функцию jquery, чтобы выделить все в фокусе для заданных типов элементов - PullRequest
0 голосов
/ 06 мая 2020

У меня часто есть несколько представлений в нашем веб-приложении, в которых мы хотели бы указать определенные поля ввода и текста (например, с классом 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) на no польза Как вы понимаете, я не самый сильный на jquery, чего мне не хватает?

1 Ответ

0 голосов
/ 06 мая 2020

Я был близок. Требуется для получения свойства селектора объекта jquery

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

};

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...