উত্তর:
function clearSelection() {
if(document.selection && document.selection.empty) {
document.selection.empty();
} else if(window.getSelection) {
var sel = window.getSelection();
sel.removeAllRanges();
}
}
আপনি নন-আইই ব্রাউজার এবং আই 10 এর জন্য স্প্যানগুলিতে এই স্টাইলগুলি প্রয়োগ করতে পারেন:
span.no_selection {
user-select: none; /* standard syntax */
-webkit-user-select: none; /* webkit (safari, chrome) browsers */
-moz-user-select: none; /* mozilla browsers */
-khtml-user-select: none; /* webkit (konqueror) browsers */
-ms-user-select: none; /* IE10+ */
}
-ms-user-select: none;দেখুন blogs.msdn.com/b/ie/archive/2012/01/11/... @PaoloBergantino
সরল জাভাস্ক্রিপ্টে:
element.addEventListener('mousedown', function(e){ e.preventDefault(); }, false);
বা jQuery সহ:
jQuery(element).mousedown(function(e){ e.preventDefault(); });
return falseব্যবহার event.preventDefault()না করে যা আপনার মোউসডাউনে থাকা অন্য কোনও হ্যান্ডলারকে হত্যা না করে।
elementহ্যাঁ।
কেবলমাত্র একটি ডাবল ক্লিকের পরে পাঠ্য নির্বাচন প্রতিরোধ করতে:
আপনি MouseEvent#detailসম্পত্তি ব্যবহার করতে পারে । মোডাউনডাউন বা মাউসআপ ইভেন্টগুলির জন্য এটি বর্তমান ক্লিক গণনা 1 টি plus
document.addEventListener('mousedown', function (event) {
if (event.detail > 1) {
event.preventDefault();
// of course, you still do not know what you prevent here...
// You could also check event.ctrlKey/event.shiftKey/event.altKey
// to not prevent something useful.
}
}, false);
Https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail দেখুন
(event.detail === 2)কেবলমাত্র ডাবল-ক্লিক (এবং ট্রিপল-ক্লিক ইত্যাদি নয়) রোধ করতে ব্যবহার করুন
এফডাব্লুআইডাব্লু, আমি সেই শিশু উপাদানগুলির পিতামাতার উপাদানকে সেট করেছি user-select: noneযা পিতামাতার উপাদানটিতে কোথাও ডাবল ক্লিক করার সময় আমি কোনওভাবেই নির্বাচন করতে চাই না। এবং এটি কাজ করে! দুর্দান্ত জিনিস হ'ল contenteditable="true", পাঠ্য নির্বাচন ইত্যাদি এখনও শিশু উপাদানগুলিতে কাজ করে!
তাই মত:
<div style="user-select: none">
<p>haha</p>
<p>haha</p>
<p>haha</p>
<p>haha</p>
</div>
style="user-select: note"সর্বত্র
একটি সরল জাভাস্ক্রিপ্ট ফাংশন যা কোনও পৃষ্ঠা-উপাদানটির ভিতরে থাকা সামগ্রীকে অনির্বাণিত করে তোলে:
function makeUnselectable(elem) {
if (typeof(elem) == 'string')
elem = document.getElementById(elem);
if (elem) {
elem.onselectstart = function() { return false; };
elem.style.MozUserSelect = "none";
elem.style.KhtmlUserSelect = "none";
elem.unselectable = "on";
}
}
কৌণিক 2+ এর সমাধান খুঁজছেন তাদের জন্য ।
আপনি mousedownটেবিল সেলের আউটপুট ব্যবহার করতে পারেন ।
<td *ngFor="..."
(mousedown)="onMouseDown($event)"
(dblclick) ="onDblClick($event)">
...
</td>
এবং যদি প্রতিরোধ detail > 1।
public onMouseDown(mouseEvent: MouseEvent) {
// prevent text selection for dbl clicks.
if (mouseEvent.detail > 1) mouseEvent.preventDefault();
}
public onDblClick(mouseEvent: MouseEvent) {
// todo: do what you really want to do ...
}
dblclickআশানুরূপ আউটপুট কাজ চলতে থাকে।
বা, মজিলায়:
document.body.onselectstart = function() { return false; } // Or any html object
আইই তে,
document.body.onmousedown = function() { return false; } // valid for any html object as well
document.body।
পুরানো থ্রেড, তবে আমি এমন একটি সমাধান নিয়ে এসেছি যা আমি বিশ্বাস করি যে এটি পরিষ্কার since এটি সোজা, এবং আমার জন্য ভাল কাজ করে। এখানে একটি উদাহরণ; আমি যখন "তীর-ডান" শ্রেণীর সাহায্যে অবজেক্টটিতে বেশ কয়েকবার ক্লিক করি তখন আমি পাঠ্য-নির্বাচন বাধা দিতে চাই:
$(".arrow-right").hover(function(){$('body').css({userSelect: "none"});}, function(){$('body').css({userSelect: "auto"});});
এইচটিএইচ!
আপনি যদি কেবল কোনও ডাবল ক্লিকের পাশাপাশি কোনও পদ্ধতি দ্বারা পাঠ্য নির্বাচনকে পুরোপুরি আটকাতে চাইছেন তবে আপনি user-select: noneCSS বৈশিষ্ট্যটি ব্যবহার করতে পারেন । আমি ক্রোম 68 পরীক্ষা করে দেখেছি, তবে https://caniuse.com/#search=user-select অনুযায়ী এটি অন্যান্য বর্তমানের সাধারণ ব্যবহারকারী ব্রাউজারগুলিতে কাজ করা উচিত।
আচরণগতভাবে, ক্রোম 68৮ এ এটি শিশু উপাদানগুলির দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত, এবং উপাদানটির আশেপাশে এবং উপাদান সহ পাঠ্য নির্বাচন করা হলেও এমন কোনও উপাদান থাকা পাঠ্য নির্বাচন করার অনুমতি দেয় না।
IE 8 সিটিআরএল এবং শিফট প্রতিরোধের জন্য পৃথক উপাদানগুলিতে পাঠ্য নির্বাচন ক্লিক করুন
var obj = document.createElement("DIV");
obj.onselectstart = function(){
return false;
}
নথিতে পাঠ্য নির্বাচন প্রতিরোধ করার জন্য
window.onload = function(){
document.onselectstart = function(){
return false;
}
}