ডি-নির্বাচন বিষয়ক রাজ্য 2014
আমি নিজস্ব কিছু গবেষণা করেছি। আমি লিখেছি এবং এই দিনগুলিতে ব্যবহার করছি ফাংশন এখানে:
(function deselect(){
var selection = ('getSelection' in window)
? window.getSelection()
: ('selection' in document)
? document.selection
: null;
if ('removeAllRanges' in selection) selection.removeAllRanges();
else if ('empty' in selection) selection.empty();
})();
মূলত, getSelection().removeAllRanges()বর্তমানে সমস্ত আধুনিক ব্রাউজার (আই 9+ সহ) দ্বারা সমর্থিত। এটি পরিষ্কারভাবে সঠিক পদ্ধতিটি এগিয়ে চলছে।
সামঞ্জস্যতা সমস্যাগুলির জন্য দায়ী:
- Chrome এবং সাফারি এর পুরানো সংস্করণ ব্যবহার করা হয়েছে
getSelection().empty()
- আইই 8 এবং নীচে ব্যবহৃত
document.selection.empty()
হালনাগাদ
পুনরায় ব্যবহারের জন্য এই নির্বাচনের কার্যকারিতা গুটিয়ে রাখা সম্ভবত একটি ভাল ধারণা।
function ScSelection(){
var sel=this;
var selection = sel.selection =
'getSelection' in window
? window.getSelection()
: 'selection' in document
? document.selection
: null;
sel.deselect = function(){
if ('removeAllRanges' in selection) selection.removeAllRanges();
else if ('empty' in selection) selection.empty();
return sel; // chainable :)
};
sel.getParentElement = function(){
if ('anchorNode' in selection) return selection.anchorNode.parentElement;
else return selection.createRange().parentElement();
};
}
// use it
var sel = new ScSelection;
var $parentSection = $(sel.getParentElement()).closest('section');
sel.deselect();
আমি এটিকে একটি সম্প্রদায়ের উইকি তৈরি করেছি যাতে আপনি লোকেরা এতে কার্যকারিতা যুক্ত করতে পারেন বা মানগুলি বিকশিত হওয়ার সাথে সাথে আপডেট করতে পারেন।
document.selectionঅস্তিত্বই এর কোনওempty()পদ্ধতির অস্তিত্বকে বোঝায় । আপনি অন্য প্রতিটি ক্ষেত্রে পদ্ধতিটির জন্য পরীক্ষা করেছেন, যাতে আপনিemptyচূড়ান্ত ক্ষেত্রেও পরীক্ষা করতে পারেন।