contenteditable 无检测图像
contenteditable no detection image
请帮帮我..
我有一些令人满意的问题,尤其是在图像检测方面
我使用这个代码:
function getnode() {
var node, selection;
if (window.getSelection) {
selection = getSelection();
node = selection.anchorNode;
}
if (!node && document.selection) {
selection = document.selection;
var range = selection.getRangeAt ?
selection.getRangeAt(0) :
selection.createRange();
node = range.commonAncestorContainer ?
range.commonAncestorContainer :
range.parentElement ? range
.parentElement() : range.item(0);
}
if (node) {
return (node.nodeName == "#text" ? node.parentNode : node);
}
}
jquery :
$(function() {
$("#editor").bind('click', function(e) {
var $node = $(getnode());
if ($node.is('a')) {
alert("Yes I am link");
}
if ($node.is('b')) {
alert("Yes I am bold");
}
if ($node.is('img')) {
alert("IMAGE READY");
} else {
$("#editor").focus();
}
});
});
FIDDLE DEMO : 请帮帮我,找路
提前致谢
我认为解决问题的最简单方法是不使用您自己的 getnode 函数,但允许元素通过目标 属性.
将你的代码改成这个效果非常好,至少对于我尝试过的场景来说是这样
$("#editor").bind('click', function (e) {
var $node = $( e.target );
if ($node.is('a')) {
alert("Yes I am link");
}
if ($node.is('b')) {
alert("Yes I am bold");
}
if ($node.is('img')) {alert("IMAGE READY");
} else {
$("#editor").focus();
}
});
请帮帮我..
我有一些令人满意的问题,尤其是在图像检测方面
我使用这个代码:
function getnode() {
var node, selection;
if (window.getSelection) {
selection = getSelection();
node = selection.anchorNode;
}
if (!node && document.selection) {
selection = document.selection;
var range = selection.getRangeAt ?
selection.getRangeAt(0) :
selection.createRange();
node = range.commonAncestorContainer ?
range.commonAncestorContainer :
range.parentElement ? range
.parentElement() : range.item(0);
}
if (node) {
return (node.nodeName == "#text" ? node.parentNode : node);
}
}
jquery :
$(function() {
$("#editor").bind('click', function(e) {
var $node = $(getnode());
if ($node.is('a')) {
alert("Yes I am link");
}
if ($node.is('b')) {
alert("Yes I am bold");
}
if ($node.is('img')) {
alert("IMAGE READY");
} else {
$("#editor").focus();
}
});
});
FIDDLE DEMO : 请帮帮我,找路
提前致谢
我认为解决问题的最简单方法是不使用您自己的 getnode 函数,但允许元素通过目标 属性.
将你的代码改成这个效果非常好,至少对于我尝试过的场景来说是这样
$("#editor").bind('click', function (e) {
var $node = $( e.target );
if ($node.is('a')) {
alert("Yes I am link");
}
if ($node.is('b')) {
alert("Yes I am bold");
}
if ($node.is('img')) {alert("IMAGE READY");
} else {
$("#editor").focus();
}
});