首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery文本编辑器

Jquery文本编辑器
EN

Stack Overflow用户
提问于 2013-05-16 20:46:20
回答 10查看 25.8K关注 0票数 4

我最近决定使用jQuery文本编辑器。然而,当我访问我正在使用jqte的textarea时,我感到困惑,文本区域没有显示任何数据。

代码语言:javascript
复制
                             <!DOCTYPE html>
              <html>
              <head>
               <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
              <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
           <title>jQuery TE | Downloaded Demo | v.1.3.6</title>

  <link type="text/css" rel="stylesheet" href="demo.css">
  <link type="text/css" rel="stylesheet" href="../jquery-te-1.3.6.css">

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js" charset="utf-8"></script>
<script type="text/javascript" src="../jquery-te-1.3.6.min.js" charset="utf-8"></script>
 </head>

<body>
 <h1>jQuery TE</h1>

<div class="navigation">
<a href="http://jqueryte.com" target="_blank">Home</a>
<a href="http://jqueryte.com/demos" target="_blank">Demos</a>
<a href="http://jqueryte.com/documentation" target="_blank">Documentation</a>
<a href="http://jqueryte.com/comments" target="_blank">Comments</a>
<a href="http://jqueryte.com/about" target="_blank">About</a>
<a href="http://jqueryte.com/license" target="_blank">License</a>
</div>

<h2>Demo | v.1.3.6</h2>


  <!------------------------------------------------------------ jQUERY TEXT EDITOR  

 <textarea  cols="2" rows="3" name="textarea" class="jqte-test"  id="mytextarea"><b>My      contents are from <u><span style="color:rgb(0, 148, 133);">TEXTAREA</span></u></b></textarea>

<p>
<button class="status">Toggle jQTE</button>
</p>
<hr>

<input name="input" type="text" value="<b>My contents are from <u><span style=&   quot;color:rgb(0, 148, 133);&quot;>INPUT</span></u></b>" class="jqte-test"/>

  <div name="div" class="jqte-test"><b>My contents are from <u><span style="color:rgb(0, 148, 133);">DIV</span></u></b></div>

   <script>
  $('.jqte-test').jqte();

 // settings of status
 var jqteStatus = true;
  $("textarea#mytextarea").bind(function(){ alert($(this).html()) ;});
 $(".status").click(function()
 {
    jqteStatus = jqteStatus ? false : true;
    $('.jqte-test:first').jqte({"status" : jqteStatus})
  });
 </script>

我实际上是在检查如何获得jqte格式的html?没有关于它的全面说明。有人能帮我吗?

EN

回答 10

Stack Overflow用户

发布于 2013-06-17 07:02:07

实际的编辑器窗口是一个带有"jqte_editor“类的div。

所以..。

代码语言:javascript
复制
$(".jqte_editor").html()

..。将为您提供最新/编辑的内容。

票数 6
EN

Stack Overflow用户

发布于 2015-07-29 20:48:20

我也遇到了同样的问题,下面是我为解决这个问题所做的。

我注意到这个插件有一个setter,但没有与编辑器的值等效的getter;这很奇怪,因为创建带有值的内容的插件的正常jQuery模式是让getter成为setter的重载的无参数版本。

所以我查看了插件代码并做了这样的修改。在代码的未压缩版本中:

这一点:

代码语言:javascript
复制
$.fn.jqteVal = function(value){
   $(this).closest("."+vars.css).find("."+vars.css+"_editor").html(value);      
}

更改为:

代码语言:javascript
复制
$.fn.jqteVal = function(value){
    if(typeof value === 'undefined'){
        return $(this).closest("."+vars.css).find("."+vars.css+"_editor").html();
    }else{
        $(this).closest("."+vars.css).find("."+vars.css+"_editor").html(value);
    }
}

来自“精简”版本:

这一点:

代码语言:javascript
复制
e.fn.jqteVal=function(t){e(this).closest("."+u.css).find("."+u.css+"_editor").html(t);}

更改为:

代码语言:javascript
复制
e.fn.jqteVal=function(t){if(typeof t === 'undefined'){return e(this).closest("."+u.css).find("."+u.css+"_editor").html();}else{e(this).closest("."+u.css).find("."+u.css+"_editor").html(t);}}

进行更改后,您现在可以像使用任何其他jQuery value函数一样使用jqteVal()函数:

代码语言:javascript
复制
$(SELECTOR).jqteVal("text that goes into editor"); //Setter
var editor_value =     $(SELECTOR).jqteVal();      //Getter

我不确定作者为什么不这样做,但我在这种方法上取得了很大的成功。

票数 3
EN

Stack Overflow用户

发布于 2013-05-16 21:01:27

使用

代码语言:javascript
复制
$("textarea").html()

而不是val(),因为它更安全,它将避开特殊字符,并防止Xss攻击

jQuery html() method

但是,如果您需要将输入文本显示为“实时”,则可以使用.val()方法

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16587869

复制
相关文章

相似问题

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