首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onFocus和onBlur

onFocus和onBlur
EN

Stack Overflow用户
提问于 2010-12-20 15:41:20
回答 5查看 3.8K关注 0票数 2

由于某些原因,onbluronfocus属性不起作用。我对它们的定义是正确的吗?

代码语言:javascript
复制
var replyTxt = document.createElement("input");
    replyTxt.id="replyTxt";
    replyTxt.type="text";
    replyTxt.value="Write a reply";
    
    replyTxt.onfocus = function(){if(replyTxt.value==replyTxt.defaultValue) replyTxt.value='';};
    replyTxt.onblur= function(){if(replyTxt.value=='') replyTxt.value=replyTxt.defaultValue;};

我还尝试过将"function(){if(replyTxt.value==replyTxt.defaultValue) replyTxt.value='';}"放在引号中

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-12-20 15:49:20

事件起作用了-所以你的逻辑可能有问题...

代码语言:javascript
复制
if(replyTxt.value==replyTxt.defaultValue) replyTxt.value='';

在哪里设置replyTxt.defaultValue?在您的示例中,您不需要-因此逻辑永远不会触发。试试这个。

代码语言:javascript
复制
var replyTxtDefaultText = "Write a reply";
var replyTxt = document.createElement("input");
    replyTxt.id="replyTxt";
    replyTxt.type="text";
    replyTxt.value=replyTxtDefaultText;

    replyTxt.onfocus = function(){if(replyTxt.value==replyTxtDefaultText) replyTxt.value='';};
    replyTxt.onblur= function(){if(replyTxt.value=='') replyTxt.value=replyTxtDefaultText;};
票数 2
EN

Stack Overflow用户

发布于 2010-12-20 15:50:41

只需提示:尝试在事件函数中用this替换replyTxt

票数 1
EN

Stack Overflow用户

发布于 2010-12-20 15:57:55

试试setAttribute。有关函数的更多信息请查看此link

代码语言:javascript
复制
var replyTxt = document.createElement("input");
replyTxt.setAttribute('onFocus', 'focusFunction()');

function focusFunction()
{
   if(replyTxt.value==replyTxtDefaultText) 
      replyTxt.value='';
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4487713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档