【问题标题】:Regarding "this" and "this.value"关于“this”和“this.value”
【发布时间】:2016-12-23 23:18:24
【问题描述】:

我刚开始设计一个网页。我试图设计一个登录页面并搜索相同的内容并找到了一些东西,但我对一行感到困惑

onBlur="if(this.value=='')this.value='Username'" onFocus="if(this.value=='Username')this.value='' ">

但我对thisthis.value 以及if 语句感到困惑。

【问题讨论】:

  • html5 中,placeholder 属性将在内部更好地执行此操作。因此,由于大多数当前浏览器都支持html5,您只需将placeholder="Username" 添加到您的<input> 元素并删除您在问题中的代码。除非您的目标是某个不支持它的浏览器。

标签: javascript html css pointers web


【解决方案1】:
"if(this.value=='')this.value='Username'"

“this”指的是当前元素。 "this.value" 指的是当前元素的值。

至于 if 语句,对于 onBlur 表示当用户离开该字段时,它会询问元素的当前值是否为空白(''),如果为真则将值更改为 'Username' .

【讨论】:

    【解决方案2】:

    HTML 事件侦听器,例如 onBluronFocus 采用“JavaScript 函数”,该函数在触发相应操作时激活。在 HTML 元素上,this 指的是元素本身,而this.value 是输入元素的值。 onBlur 属性在用户离开字段时触发,if 语句检查字段是否为空,如果是,则将其设置为“用户名”。另一方面,onFocus 正好相反,当用户输入字段时触发,如果值已经是“用户名”,则将其清除。

    如果可能的话,我实际上建议不要这样做,而是用placeholder="Username" 代替它,这实际上是同样的事情。

    阅读有关 HTML 事件的更多信息 herelearn more about placeholders。我还建议更多地研究 HTML 和 JavaScript。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-20
      • 2011-10-26
      相关资源
      最近更新 更多