87,909
社区成员
发帖
与我相关
我的任务
分享
function set_focus(el)
{
el=el[0]; // jquery 对象转dom对象
el.focus();
if($.browser.msie)
{
var rng;
el.focus();
rng = document.selection.createRange();
rng.moveStart('character', -el.innerText.length);
var text = rng.text;
for (var i = 0; i < el.innerText.length; i++) {
if (el.innerText.substring(0, i + 1) == text.substring(text.length - i - 1, text.length)) {
result = i + 1;
}
}
}
else
{
var range = document.createRange();
range.selectNodeContents(el);
range.collapse(false);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
}
}
这个方法可以让光标定到最后,参数是目标jquey对象
function saveRange(){
var selection= window.getSelection ? window.getSelection() : document.selection;
var range= selection.createRange ? selection.createRange() : selection.getRangeAt(0);
_range = range;
if (!window.getSelection){
var o = document.getElementById('o');
if(o.lastChild && o.lastChild.tagName == "IMG"){
o.appendChild(document.createTextNode("\n"));
}
}
}
[/quote]
麻烦大神帮我看一下,我在别的网页随便粘贴的时候,复制到我的比编辑器里面,我以前的文本就没有了,麻烦大神帮我解决一下哦,解决完了这个问题就ok了,200分都给你了,十分感谢[/quote]
pasteHandler会把所有图片清掉[/quote]content=content.replace(/_moz_dirty=""/gi, "")
content=content.replace(/\[/g, "[[-")
content=content.replace(/\]/g, "-]]")
content=content.replace(/<\/ ?tr[^>]*>/gi, "
")
content=content.replace(/<\/ ?td[^>]*>/gi, " ")
content=content.replace(/<(ul|dl|ol)[^>]*>/gi, "
")
content=content.replace(/<(li|dd)[^>]*>/gi, "
")
content=content.replace(/<p [^>]*>/gi, "
")
content=content.replace(new RegExp("<(/?(?:" + valiHTML.join("|") + ")[^>]*)>", "gi"), "[$1]")
content=content.replace(new RegExp('<span([^>]*class="?at"?[^>]*)>', "gi"), "[span$1]")
// content=content.replace(/<[^>]*>/g, "")
content=content.replace(/\[\[\-/g, "[").replace(/\-\]\]/g, "]");
content=content.replace(new RegExp("\\[(/?(?:" + valiHTML.join("|") + "|img|span)[^\\]]*)\\]", "gi"), "<$1>");
加注释的部分会把都有标签去掉[/quote]
去掉注释的话,会把他的代码也粘贴过来,这样就起不到过滤效果了,大神有什么办法过滤粘贴过来的呢?[/quote]
//监控粘贴(ctrl+v),如果是粘贴过来的东东,则替换多余的html代码,只保留<br>
function pasteHandler(event){
setTimeout(function(){
var content = document.getElementById("o").innerHTML;
valiHTML=["br"];
content = content.replace(/(<[^>]*>)/g,function($0,$1){
if(/<img[^>]*>/gi.test($1)){
return $1;
}else {
return "";
}
});
if(!/firefox/.test(navigator.userAgent.toLowerCase())){
content=content.replace(/\r?\n/gi, "<br>");
}
document.getElementById("o").innerHTML=content;
saveRange();
},1)
}
function saveRange(){
var selection= window.getSelection ? window.getSelection() : document.selection;
var range= selection.createRange ? selection.createRange() : selection.getRangeAt(0);
_range = range;
if (!window.getSelection){
var o = document.getElementById('o');
if(o.lastChild && o.lastChild.tagName == "IMG"){
o.appendChild(document.createTextNode("\n"));
}
}
}
[/quote]
麻烦大神帮我看一下,我在别的网页随便粘贴的时候,复制到我的比编辑器里面,我以前的文本就没有了,麻烦大神帮我解决一下哦,解决完了这个问题就ok了,200分都给你了,十分感谢[/quote]
pasteHandler会把所有图片清掉[/quote]content=content.replace(/_moz_dirty=""/gi, "")
content=content.replace(/\[/g, "[[-")
content=content.replace(/\]/g, "-]]")
content=content.replace(/<\/ ?tr[^>]*>/gi, "
")
content=content.replace(/<\/ ?td[^>]*>/gi, " ")
content=content.replace(/<(ul|dl|ol)[^>]*>/gi, "
")
content=content.replace(/<(li|dd)[^>]*>/gi, "
")
content=content.replace(/<p [^>]*>/gi, "
")
content=content.replace(new RegExp("<(/?(?:" + valiHTML.join("|") + ")[^>]*)>", "gi"), "[$1]")
content=content.replace(new RegExp('<span([^>]*class="?at"?[^>]*)>', "gi"), "[span$1]")
// content=content.replace(/<[^>]*>/g, "")
content=content.replace(/\[\[\-/g, "[").replace(/\-\]\]/g, "]");
content=content.replace(new RegExp("\\[(/?(?:" + valiHTML.join("|") + "|img|span)[^\\]]*)\\]", "gi"), "<$1>");
加注释的部分会把都有标签去掉
function saveRange(){
var selection= window.getSelection ? window.getSelection() : document.selection;
var range= selection.createRange ? selection.createRange() : selection.getRangeAt(0);
_range = range;
if (!window.getSelection){
var o = document.getElementById('o');
if(o.lastChild && o.lastChild.tagName == "IMG"){
o.appendChild(document.createTextNode("\n"));
}
}
}
[/quote]
麻烦大神帮我看一下,我在别的网页随便粘贴的时候,复制到我的比编辑器里面,我以前的文本就没有了,麻烦大神帮我解决一下哦,解决完了这个问题就ok了,200分都给你了,十分感谢[/quote]
pasteHandler会把所有图片清掉
function saveRange(){
var selection= window.getSelection ? window.getSelection() : document.selection;
var range= selection.createRange ? selection.createRange() : selection.getRangeAt(0);
_range = range;
if (!window.getSelection){
var o = document.getElementById('o');
if(o.lastChild && o.lastChild.tagName == "IMG"){
o.appendChild(document.createTextNode("\n"));
}
}
}
[/quote]
麻烦大神帮我看一下,我在别的网页随便粘贴的时候,复制到我的比编辑器里面,我以前的文本就没有了,麻烦大神帮我解决一下哦,解决完了这个问题就ok了,200分都给你了,十分感谢[/quote]
pasteHandler会把所有图片清掉[/quote]content=content.replace(/_moz_dirty=""/gi, "")
content=content.replace(/\[/g, "[[-")
content=content.replace(/\]/g, "-]]")
content=content.replace(/<\/ ?tr[^>]*>/gi, "
")
content=content.replace(/<\/ ?td[^>]*>/gi, " ")
content=content.replace(/<(ul|dl|ol)[^>]*>/gi, "
")
content=content.replace(/<(li|dd)[^>]*>/gi, "
")
content=content.replace(/<p [^>]*>/gi, "
")
content=content.replace(new RegExp("<(/?(?:" + valiHTML.join("|") + ")[^>]*)>", "gi"), "[$1]")
content=content.replace(new RegExp('<span([^>]*class="?at"?[^>]*)>', "gi"), "[span$1]")
// content=content.replace(/<[^>]*>/g, "")
content=content.replace(/\[\[\-/g, "[").replace(/\-\]\]/g, "]");
content=content.replace(new RegExp("\\[(/?(?:" + valiHTML.join("|") + "|img|span)[^\\]]*)\\]", "gi"), "<$1>");
加注释的部分会把都有标签去掉[/quote]
去掉注释的话,会把他的代码也粘贴过来,这样就起不到过滤效果了,大神有什么办法过滤粘贴过来的呢?
function saveRange(){
var selection= window.getSelection ? window.getSelection() : document.selection;
var range= selection.createRange ? selection.createRange() : selection.getRangeAt(0);
_range = range;
if (!window.getSelection){
var o = document.getElementById('o');
if(o.lastChild && o.lastChild.tagName == "IMG"){
o.appendChild(document.createTextNode("\n"));
}
}
}
[/quote]
麻烦大神帮我看一下,我在别的网页随便粘贴的时候,复制到我的比编辑器里面,我以前的文本就没有了,麻烦大神帮我解决一下哦,解决完了这个问题就ok了,200分都给你了,十分感谢
function saveRange(){
var selection= window.getSelection ? window.getSelection() : document.selection;
var range= selection.createRange ? selection.createRange() : selection.getRangeAt(0);
_range = range;
if (!window.getSelection){
var o = document.getElementById('o');
if(o.lastChild && o.lastChild.tagName == "IMG"){
o.appendChild(document.createTextNode("\n"));
}
}
}