অবাঞ্ছিত পাঠ্য নির্বাচন প্রতিরোধ
বোতামের মতো কাজ করে এমন অ্যাঙ্করগুলির জন্য, যেমন স্ট্যাক ওভারফ্লো সাইডবারে (প্রশ্ন, ট্যাগ এবং ব্যবহারকারী), এটি হতাশাজনক হতে পারে যখন ব্যবহারকারীরা ভুলবশত পাঠ্য হাইলাইট করে। এটি প্রায়ই ঘটে যখন এই উপাদানগুলি নেভিগেশন বা ক্রিয়াকলাপের জন্য ব্যবহৃত হয়, যেখানে পাঠ্য নির্বাচন অনিচ্ছাকৃত হয়।
যদিও জাভাস্ক্রিপ্ট টেক্সট নির্বাচন রোধ করার জন্য সমাধান অফার করে, সিএসএস একটি আদর্শ-সম্মত পদ্ধতি প্রদান করে কিনা তা জানা উপকারী। এই নিবন্ধটি কীভাবে CSS ব্যবহার করে পাঠ্য নির্বাচন হাইলাইটিং অক্ষম করতে হয় তা অন্বেষণ করে এবং এই প্রভাব অর্জনের জন্য সর্বোত্তম অনুশীলনগুলি নিয়ে আলোচনা করে।
আদেশ | বর্ণনা |
---|---|
-webkit-user-select | সাফারি ব্রাউজারে পাঠ্য নির্বাচন অক্ষম করার জন্য CSS সম্পত্তি। |
-moz-user-select | ফায়ারফক্স ব্রাউজারে পাঠ্য নির্বাচন অক্ষম করতে CSS সম্পত্তি। |
-ms-user-select | ইন্টারনেট এক্সপ্লোরার 10+ এ পাঠ্য নির্বাচন অক্ষম করতে CSS বৈশিষ্ট্য। |
user-select | আধুনিক ব্রাউজারে পাঠ্য নির্বাচন অক্ষম করতে স্ট্যান্ডার্ড CSS বৈশিষ্ট্য। |
onselectstart | একটি উপাদানে পাঠ্য নির্বাচন প্রতিরোধ করতে জাভাস্ক্রিপ্ট ইভেন্ট হ্যান্ডলার। |
querySelectorAll | নির্বাচকদের একটি নির্দিষ্ট গোষ্ঠীর সাথে মেলে এমন সমস্ত উপাদান নির্বাচন করার জন্য JavaScript পদ্ধতি। |
পাঠ্য নির্বাচন অক্ষম করতে স্ক্রিপ্ট বোঝা
CSS ব্যবহার করে পাঠ্য নির্বাচন হাইলাইটিং নিষ্ক্রিয় করতে, আমরা প্রয়োগ করি -webkit-user-select, -moz-user-select, -ms-user-select, এবং user-select বৈশিষ্ট্য এই বৈশিষ্ট্যগুলি বিভিন্ন ব্রাউজারে পূরণ করে, ক্রস-ব্রাউজার সামঞ্জস্য নিশ্চিত করে। এই বৈশিষ্ট্য সেট করে none, পাঠ্য নির্বাচন অক্ষম করা হয়েছে, ব্যবহারকারীদের সাথে উপাদানগুলিতে পাঠ্য হাইলাইট করতে বাধা দেয়৷ no-select ক্লাস
জাভাস্ক্রিপ্ট উদাহরণে, আমরা ডকুমেন্টে একটি ইভেন্ট লিসেনার যোগ করি যেটি একবার DOM বিষয়বস্তু সম্পূর্ণরূপে লোড হয়ে গেলে কার্যকর হয়। দ্য querySelectorAll পদ্ধতির সাথে সমস্ত উপাদান নির্বাচন করে no-select ক্লাস প্রতিটি নির্বাচিত উপাদানের জন্য, onselectstart ইভেন্ট ফেরত ওভাররাইড করা হয় false, পাঠ্য নির্বাচন প্রতিরোধ করা। CSS এবং JavaScript-এর এই সমন্বয় বিভিন্ন ব্রাউজার এবং পরিস্থিতিতে পাঠ্য নির্বাচন অক্ষম করার জন্য একটি শক্তিশালী সমাধান নিশ্চিত করে।
পাঠ্য নির্বাচন নিষ্ক্রিয় করার জন্য CSS পদ্ধতি
পাঠ্য নির্বাচন অক্ষম করার জন্য CSS ব্যবহার করা
/* CSS to disable text selection */
.no-select {
-webkit-user-select: none; /* Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE 10+ */
user-select: none; /* Standard */
}
টেক্সট নির্বাচন রোধ করতে জাভাস্ক্রিপ্ট পদ্ধতি
পাঠ্য নির্বাচন অক্ষম করার জন্য জাভাস্ক্রিপ্ট সমাধান
/* JavaScript to disable text selection */
document.addEventListener('DOMContentLoaded', (event) => {
document.querySelectorAll('.no-select').forEach((element) => {
element.onselectstart = function() {
return false;
};
});
});
ব্যবহারিক প্রয়োগের জন্য CSS এবং HTML এর সমন্বয়
CSS এবং HTML সহ ব্যবহারিক উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.no-select {
-webkit-user-select: none; /* Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE 10+ */
user-select: none; /* Standard */
}
</style>
</head>
<body>
<div class="no-select">Non-selectable text</div>
</body>
</html>
আরও সমাধান অন্বেষণ
ওয়েব অ্যাপ্লিকেশনগুলিতে পাঠ্য নির্বাচন রোধ করার আরেকটি পদ্ধতি হল ব্যবহার করা draggable HTML এ বৈশিষ্ট্য। এই বৈশিষ্ট্য, যখন সেট করা হয় false, নিশ্চিত করে যে উপাদানটি নির্বাচন করা বা টেনে আনা যাবে না, ব্যবহারকারীর মিথস্ক্রিয়াগুলির উপর নিয়ন্ত্রণের আরেকটি স্তর প্রদান করে। এটি বোতাম এবং ট্যাবের মতো ইন্টারেক্টিভ উপাদানগুলির জন্য বিশেষভাবে উপযোগী হতে পারে যা দুর্ঘটনাক্রমে হাইলাইট করা বা সরানো উচিত নয়।
উপরন্তু, দ pointer-events CSS সম্পত্তি ব্যবহার করা যেতে পারে. সেট করে pointer-events: none, আপনি একটি উপাদানের পাঠ্যকে অনির্বাচিত করতে পারেন। যাইহোক, এই পদ্ধতিটি ক্লিক করার মতো অন্যান্য মিথস্ক্রিয়াগুলিকেও অক্ষম করে, যা সমস্ত ব্যবহারের ক্ষেত্রে পছন্দসই নাও হতে পারে। সঠিক পদ্ধতি বেছে নেওয়ার সময় ব্যবহারযোগ্যতা এবং কার্যকারিতার ভারসাম্য বজায় রাখা গুরুত্বপূর্ণ।
সাধারণ প্রশ্ন এবং সমাধান
- আমি কিভাবে CSS ব্যবহার করে পাঠ্য নির্বাচন প্রতিরোধ করতে পারি?
- ব্যবহার user-select সম্পত্তি সেট none পছন্দসই উপাদানগুলির জন্য।
- পাঠ্য নির্বাচন অক্ষম করার জন্য একটি জাভাস্ক্রিপ্ট পদ্ধতি আছে?
- হ্যাঁ, সেট করে onselectstart ফিরে আসার ঘটনা false লক্ষ্যবস্তুতে।
- কি -webkit-user-select সম্পত্তি?
- এটি একটি CSS সম্পত্তি যা Safari এবং Chrome ব্রাউজারে পাঠ্য নির্বাচন অক্ষম করতে ব্যবহৃত হয়।
- আমি ব্যবহার করতে পারেন pointer-events পাঠ্য নির্বাচন প্রতিরোধ করতে?
- হ্যাঁ, সেটিং pointer-events প্রতি none টেক্সট নির্বাচন প্রতিরোধ করতে পারে কিন্তু অন্যান্য মিথস্ক্রিয়া নিষ্ক্রিয় করে।
- কি করে draggable বৈশিষ্ট্য কি?
- দ্য draggable বৈশিষ্ট্য, যখন সেট করা হয় false, উপাদান নির্বাচন করা বা টেনে আনা থেকে বাধা দেয়।
- সিএসএস দিয়ে সমস্ত ব্রাউজারকে লক্ষ্য করার একটি উপায় আছে কি?
- ব্যবহার -webkit-user-select, -moz-user-select, -ms-user-select, এবং user-select বৈশিষ্ট্য একসাথে।
- পাঠ্য নির্বাচন অক্ষম করার কোন খারাপ দিক আছে কি?
- পাঠ্য নির্বাচন অক্ষম করা ইন্টারেক্টিভ উপাদানগুলির জন্য ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে পারে তবে কিছু ব্যবহারকারীর জন্য অ্যাক্সেসযোগ্যতাকে বাধা দিতে পারে।
- পাঠ্য নির্বাচন শুধুমাত্র নির্দিষ্ট উপাদানের জন্য নিষ্ক্রিয় করা যেতে পারে?
- হ্যাঁ, আপনি বৈশিষ্ট্য বা ইভেন্ট হ্যান্ডলারগুলিকে বোতাম বা ট্যাবের মতো নির্দিষ্ট উপাদানগুলিতে প্রয়োগ করতে পারেন।
- পাঠ্য নির্বাচন অক্ষম করার জন্য সর্বোত্তম অনুশীলনগুলি কী কী?
- ক্রস-ব্রাউজার সামঞ্জস্যের জন্য CSS এবং JavaScript পদ্ধতিগুলিকে একত্রিত করুন এবং নিশ্চিত করুন যে ব্যবহারযোগ্যতা আপোস করা হয় না।
পাঠ্য নির্বাচন অক্ষম করার বিষয়ে চূড়ান্ত চিন্তাভাবনা
পাঠ্য নির্বাচন হাইলাইটিং প্রতিরোধ করা ইন্টারেক্টিভ ওয়েব উপাদানগুলির ব্যবহারযোগ্যতা বাড়ায়। যেমন CSS বৈশিষ্ট্য ব্যবহার করে user-select ব্রাউজার-নির্দিষ্ট উপসর্গ সহ সমস্ত প্রধান ব্রাউজার জুড়ে সামঞ্জস্য নিশ্চিত করে। উপরন্তু, পাঠ্য নির্বাচন পরিচালনা করার জন্য জাভাস্ক্রিপ্ট অন্তর্ভুক্ত করা একটি শক্তিশালী সমাধান প্রদান করে। সঠিকভাবে প্রয়োগ করা হলে, এই কৌশলগুলি অবাঞ্ছিত হাইলাইট ছাড়াই মসৃণ মিথস্ক্রিয়া নিশ্চিত করে বোতাম বা ট্যাব হিসাবে কাজ করে এমন উপাদানগুলিতে দুর্ঘটনাজনিত পাঠ্য নির্বাচন রোধ করে ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।