0

我目前遇到问题。我正在尝试重置我的 textarea,如果它具有值Message...(它在您加载页面时具有)。但就像现在一样,无论它有什么价值,它都会重置。这是我的jQuery代码:

if ($("#text").value = 'Message...') 
{
    $("#text").click(function () {
        $(this).val('');
    });
}

HTML 代码只是表单中的一个文本区域。

4

2 回答 2

1

$("#text").value = 'Message...'将始终为,因为您使用的是赋值运算符。===改为用于比较。

if ($("#text").val() === 'Message...') 
{
    $("#text").click(function () {
        $(this).val('');
    });
}
于 2013-02-04T18:35:01.133 回答
1

你的一些问题是

if ($("#text").value = 'Message...') 
// should be replaced with the line below
if ($(this).val() == 'Message...')

请注意使用 ofval()value不是赋值运算符,我使用了相等运算符(您也可以使用身份运算符===)。

此外,您的文本总是被重置的原因是因为您的事件处理程序每​​次单击#text元素时都会重置文本,因此要实现预期的行为,您需要将逻辑包装在事件处理程序中。

$("#text").click(function () {
  if ($(this).val() == 'Message...')
    $(this).val('');
 });

如果您想实现“占位符”效果,可以改用以下内容:

$("#text").focusin(function () {
  if ($(this).val() == 'Message...')
    $(this).val('');
}).focusout(function() {
  if ($(this).val() == '')
    $(this).val('Message...');
});
于 2013-02-04T18:56:49.960 回答