Проблема с фокусировкой для текстового поля - PullRequest
0 голосов
/ 10 декабря 2011

У меня есть текстовое поле, которое служит для ввода любых слов, которые необходимо найти, и нажмите кнопку рядом с ним.

<input id="EnterText" class="lightcolor" type="text" size="50" value="Enter text" maxlength="50" name="EnterText">
<input id="ClickButton" type="image" value="Button" name="ClickButton" onclick="" src="">

Поскольку я из внешнего интерфейса, я подумал о хорошем дизайне пользовательского интерфейса и ввел некоторый текст Enter text светлого цвета, который должен идти и менять класс, когда происходит событие фокуса, и возвращаться, когда событие размытия случается. Соответственно я написал для него jQuery.

$(document).ready(function () {
    $('#EnterText').focusin(function () {
        alert("focus in");
        var res = document.getElementById("EnterText");
        document.getElementById("EnterText").value = "";
        res.setAttribute("class", "afterClick");
    });
    $('#EnterText').focusout(function () {
        alert("focus out");
        var res = document.getElementById("EnterText");
        document.getElementById("EnterText").value = "Enter Text";
        res.setAttribute("class", "lightcolor");
    });
    $('ClickButton').click(function () {
        alert("Click Button")
    });
});

Как видите, я опробовал focusin, focus, blur и focusout, но я не смог сделать нужную вещь, так как в тот момент, когда я нажимаю кнопку, запускается событие focusout , На самом деле предупреждение для ClickButton никогда не появляется. Из-за этого я не могу реализовать эти focusout и focusin, и моя идея стала требованием сейчас. Я также заметил, что в тот момент, когда я нажимаю на событие выделения фокуса текстового поля, сначала вызывается, а затем приходит фокус. Все, что мне нужно, это текстовое поле, которое должно иметь некоторый контент, которым руководствуется пользователь, и когда он щелкает, он вводит значение и нажимает на эта кнопка, так что бэкенд люди позаботятся обо всем остальном после получения этого значения.

Ответы [ 2 ]

3 голосов
/ 10 декабря 2011

Вы можете легко сделать это с помощью jQuery и более красивого кода.

Проверьте это: http://jsfiddle.net/webtiago/7BAyV/

1 голос
/ 10 декабря 2011

Вы должны рассмотреть возможность использования атрибута заполнителя вместо ненужного JavaScript.

Пример:

http://jsfiddle.net/FdKYW/1/

...