Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:如何修改我的代码以在主题帖子后添加回消失的占位符_Javascript_Jquery_Html_Css_Placeholder - Fatal编程技术网

Javascript:如何修改我的代码以在主题帖子后添加回消失的占位符

Javascript:如何修改我的代码以在主题帖子后添加回消失的占位符,javascript,jquery,html,css,placeholder,Javascript,Jquery,Html,Css,Placeholder,我使用一个插件为conteditable div手工制作一个占位符 在下面的演示中显示。如果用户输入一些文本,然后单击“发布”按钮,占位符就会消失。我想知道发布后如何取回占位符 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <div id="topic_content_input" contenteditable="true" a

我使用一个插件为conteditable div手工制作一个占位符

在下面的演示中显示。如果用户输入一些文本,然后单击“发布”按钮,占位符就会消失。我想知道发布后如何取回占位符

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>


<div id="topic_content_input" contenteditable="true" autocomplete="off" spellcheck="false" data-placeholder="placeholder text" ></div>
<button id="post">Post topic</button>

<style>
#topic_content_input[data-placeholder]:not([data-div-placeholder-content]):before {
    content: attr(data-placeholder);
    float: left;
     cursor:text;
    margin-left: 2px;
    color: rgba(134,134,134,0.6);
}

#topic_content_input{
width:521px;
  padding: 10px;
  border: 1px solid orange;
}

#topic_content_input:focus{
  outline-style:solid;
  outline-color:orange;
  outline-width:0px;
  line-height:normal;
}
</style>


 <script>
 (function ($) {
    $(document).on('change keydown keypress input', '#topic_content_input[data-placeholder]', function() {
        if (this.textContent) {
            this.dataset.divPlaceholderContent = 'true';
        }
        else {
            delete(this.dataset.divPlaceholderContent);
        }
    });
    })(jQuery);
    </script>
<script>
$("#post").click(function(){
    $("#topic_content_input").text(""); 
    var obj=$("#topic_content_input");

    // $("#topic_content_input").add(obj.dataset.divPlaceholderContent);  //my attempt, not working
})

</script>

帖子主题
#主题内容输入[数据占位符]:非([数据div占位符内容]):之前{
内容:attr(数据占位符);
浮动:左;
光标:文本;
左边距:2倍;
颜色:rgba(134134,0.6);
}
#主题内容输入{
宽度:521px;
填充:10px;
边框:1px实心橙色;
}
#主题内容输入:焦点{
轮廓样式:实心;
轮廓颜色:橙色;
轮廓宽度:0px;
线高:正常;
}
(函数($){
$(文档).on('change keydown keypress input','#topic_content_input[data placeholder]”,function(){
if(this.textContent){
this.dataset.DivPlaceholder内容='true';
}
否则{
删除(this.dataset.div占位符内容);
}
});
})(jQuery);
$(“#发布”)。单击(函数(){
$(“#主题#内容#输入”)。文本(“”);
var obj=$(“#主题#内容(输入)”);
//$(“#主题(内容)输入”).add(obj.dataset.divPlaceholderContent);//我的尝试,无效
})

在CSS中,您可以将
#topic_content_input:before
改为在
#topic_content_input:empty:before
中,只要div为空,就会将其放在占位符中,如图所示

为什么要加“

你应该使用:

obj.val(obj.dataset.divPlaceholderContent)

obj.val(obj.dataset.divPlaceholderContent)
obj.attr('placeholder', obj.dataset.divPlaceholderContent)