我目前遇到问题。我正在尝试重置我的 textarea,如果它具有值Message...
(它在您加载页面时具有)。但就像现在一样,无论它有什么价值,它都会重置。这是我的jQuery代码:
if ($("#text").value = 'Message...')
{
$("#text").click(function () {
$(this).val('');
});
}
HTML 代码只是表单中的一个文本区域。
$("#text").value = 'Message...'
将始终为真,因为您使用的是赋值运算符。===
改为用于比较。
if ($("#text").val() === 'Message...')
{
$("#text").click(function () {
$(this).val('');
});
}
你的一些问题是
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...');
});