আইই ১১-এ, এক্সিকিউন্ড ভাল কাজ করে না। আইআই 11 এর জন্য আমি নীচের কোডটি ব্যবহার করছি
<div class="wmd-input" id="wmd-input-md" contenteditable=true>
আমার ডিভ বাক্স।
আমি উইন্ডো.ক্লিপবোর্ডডেটা থেকে ক্লিপবোর্ডের ডেটা পড়ি এবং ডিভের টেক্সট কনটেন্টটি সংশোধন করে ক্যারেট দেব।
আমি ক্যারেট সেট করার জন্য টাইমআউট দিই, কারণ যদি আমি টাইমআউট না সেট করি তবে একটি ক্যারেট ডিভের শেষে চলে যায়।
এবং আপনার নীচের উপায়ে IE11 এ ক্লিপবোর্ডডাটা পড়া উচিত। আপনি যদি এটি না করেন তবে নিউলাইন কার্যাকারটি সঠিকভাবে পরিচালনা করা হয় না, তাই ক্যারেটটি ভুল হয়ে যায়।
var tempDiv = document.createElement("div");
tempDiv.textContent = window.clipboardData.getData("text");
var text = tempDiv.textContent;
আইই 11 এবং ক্রোমে পরীক্ষিত। এটি IE9 এ কাজ করতে পারে না
document.getElementById("wmd-input-md").addEventListener("paste", function (e) {
if (!e.clipboardData) {
//For IE11
e.preventDefault();
e.stopPropagation();
var tempDiv = document.createElement("div");
tempDiv.textContent = window.clipboardData.getData("text");
var text = tempDiv.textContent;
var selection = document.getSelection();
var start = selection.anchorOffset > selection.focusOffset ? selection.focusOffset : selection.anchorOffset;
var end = selection.anchorOffset > selection.focusOffset ? selection.anchorOffset : selection.focusOffset;
selection.removeAllRanges();
setTimeout(function () {
$(".wmd-input").text($(".wmd-input").text().substring(0, start)
+ text
+ $(".wmd-input").text().substring(end));
var range = document.createRange();
range.setStart(document.getElementsByClassName("wmd-input")[0].firstChild, start + text.length);
range.setEnd(document.getElementsByClassName("wmd-input")[0].firstChild, start + text.length);
selection.addRange(range);
}, 1);
} else {
//For Chrome
e.preventDefault();
var text = e.clipboardData.getData("text");
var selection = document.getSelection();
var start = selection.anchorOffset > selection.focusOffset ? selection.focusOffset : selection.anchorOffset;
var end = selection.anchorOffset > selection.focusOffset ? selection.anchorOffset : selection.focusOffset;
$(this).text($(this).text().substring(0, start)
+ text
+ $(this).text().substring(end));
var range = document.createRange();
range.setStart($(this)[0].firstChild, start + text.length);
range.setEnd($(this)[0].firstChild, start + text.length);
selection.removeAllRanges();
selection.addRange(range);
}
}, false);