私を助けてください..のcontentEditableなし検出画像
私はこのコードを使用し、特に画像検出
に、のcontentEditable問題があります。
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:Ple ASE
は、私はあなたの問題を解決する最も簡単な方法は、ない独自のgetnode機能を使用しますが、要素がクリックから来ることを可能にすることだと思う事前
にあなたが 'e.target'を使用していない理由はどのような理由を試してみましたか? – Icepickle
** **あなたの問題は何ですか?私はちょうどあなたのフィドルを試して、それは正常に動作するようです。 – gus27
@ gus27イメージを追加してイメージをクリックした後に通知がないので、正しいノードを返さないgetnode()関数でエラーが発生している可能性があります。 – Icepickle