jquery为基的编辑器开发问题。 不用把值传入隐藏的textarea,编辑器要的就是textarea,不用textarea怎么编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那如何编辑,textarea不支持html,怎么显示图片什么的? 你先看看人家是怎么做的比如TinyMCE,然后修修改改,再山寨一个.基础的东西很重要 一般width/height是手动传递进入你的编辑器js构造器里面,很少通过获取textarea的width/height css来初始化编辑器外观。。 textarea 只起承载被编辑的数据的作用如果你的编辑器不考虑表单方式提交的话,是不需要 textarea 的 各位大神,很难理解啊。对象:$.fn.myeditor=function(options){var defaults={width:"100",height:"100"}var newset=$.extend(defaults,options)}-------调用:$("#textarea").myeditor({width:"300"});<textarea name="textarea" id="textarea" ></textarea>大概是这样子的结构。设定的是textarea,但是用来输入展示的是div或者iframe。div或者iframe如何获取textarea的这些设定的属性?我一直想不明白的一点是:页面明明是<textarea name="textarea" id="textarea" ></textarea>这样的,但是实际上如何不知不觉地转成div或者iframe来使用?? 请有经验的大神把这个运转机制说一说?我的办法是想在JS中获取textarea的高宽,将他赋予给编辑用的div,并将textarea设为隐藏,用div来代替他的位置。但是这是我自己想的,不知道传统上也是不是这样弄的? 那不是隐藏器textarea,然后在textarea的后面插入一个可编辑的div或者iframe<textarea name="textarea" id="textarea" ><b>要初始化的内容</b></textarea><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script><script> $.fn.myeditor = function (options) { var defaults = { width: "100", height: "100" } var newset = $.extend(defaults, options) return this.each(function () { var div = $('<div></div>') .css({ width: defaults.width, height: defaults.height, border: 'solid 1px black' }) .attr('contentEditable', true).html($(this).val()); $(this).hide().after(div); }); } $("#textarea").myeditor({ width: "300" });</script> $(this).hide().after(div);这个似乎也是隐藏textarea了。看完你的代码我觉得应该思路没错了 可以进行下一步了。 textare肯定要隐藏了,不隐藏就没什意义了有个地方搞错了,用到默认配置去了。。var div = $('<div></div>') .css({ width: newset.width, height: newset.height, border: 'solid 1px black' }) ——————————————————我改过来了 不过奇怪的是代码没有起效,div没有显示出来,出来的是textarea。那个加粗的效果自然也没有了。我正在检查,看看哪里出问题了。 iframe src 重定向问题 关于包含Iframe的页面分栏拖动的问题。 一段代码让我很困惑? 关于级联查询的问题。。。。。求解 一段关于编辑器的代码 document.cookie=newcookie会覆盖其它的cookie吗? 客户端javascript判断怎么老是返回true 刷新的问题 如何把一数据从一框架提交到另一框架? 要想把vbscript里面求出来的值,在javascript里面调用如何处理!可以直接调用吗! js 传参 通过ajax获取的数据,如何让其它js能执行?
那如何编辑,textarea不支持html,怎么显示图片什么的?
如果你的编辑器不考虑表单方式提交的话,是不需要 textarea 的
$.fn.myeditor=function(options){
var defaults={
width:"100",height:"100"
}
var newset=$.extend(defaults,options)
}
-------
调用:
$("#textarea").myeditor({width:"300"});
<textarea name="textarea" id="textarea" ></textarea>
大概是这样子的结构。设定的是textarea,但是用来输入展示的是div或者iframe。div或者iframe如何获取textarea的这些设定的属性?
我一直想不明白的一点是:
页面明明是<textarea name="textarea" id="textarea" ></textarea>这样的,但是实际上如何不知不觉地转成div或者iframe来使用??
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$.fn.myeditor = function (options) {
var defaults = {
width: "100", height: "100"
}
var newset = $.extend(defaults, options)
return this.each(function () {
var div = $('<div></div>')
.css({ width: defaults.width, height: defaults.height, border: 'solid 1px black' })
.attr('contentEditable', true).html($(this).val());
$(this).hide().after(div);
});
}
$("#textarea").myeditor({ width: "300" });
</script>
看完你的代码我觉得应该思路没错了 可以进行下一步了。
有个地方搞错了,用到默认配置去了。。var div = $('<div></div>')
.css({ width: newset.width, height: newset.height, border: 'solid 1px black' })
——————————————————
我改过来了 不过奇怪的是代码没有起效,div没有显示出来,出来的是textarea。那个加粗的效果自然也没有了。我正在检查,看看哪里出问题了。