উত্তর:
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: none
CSS বৈশিষ্ট্যটি ব্যবহার করতে পারেন । আমি ক্রোম 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;
}
}