دليل مرجعي سريع لواجهة المتصفح DOM Selection API عبر window.getSelection().
🔗 مراجع ذات صلة: ورقة غش واجهة برمجة تطبيقات DOM Range
الحصول على التحديد الحالي (Getting Current Selection)
const selection = window.getSelection(); // أو استخدام document.getSelection()
const selectedText = selection.toString();
إدارة نطاقات التحديد (Range Management)
// الوصول إلى النطاق النشط
const rangeCount = selection.rangeCount;
if (rangeCount > 0) {
const currentRange = selection.getRangeAt(0);
}
// مسح كافة التحديدات النشطة وإلغاء تحديد النصوص
selection.removeAllRanges();
// تعيين تحديد جديد برمجيا
selection.addRange(range);
// إزالة نطاق محدد بعينه
selection.removeRange(range);
المؤشر والطي (Caret & Collapsing)
// طي التحديد إلى نقطة واحدة (مؤشر الكتابة)
selection.collapse(parentNode, offset);
// طي التحديد إلى حدود البداية أو النهاية
selection.collapseToStart();
selection.collapseToEnd();
// التحقق مما إذا كان التحديد مطويا حاليا (مؤشر وامض)
const isCaret = selection.isCollapsed;
حذف محتوى التحديد (Selection Deletion)
// يحذف المحتوى المحدد مباشرة من وثيقة DOM الحية
selection.deleteFromDocument();
أحداث تغيير التحديد (Selection Change Events)
document.addEventListener('selectionchange', () => {
const sel = document.getSelection();
// طباعة التحديد المتغير
console.log('Selection changed:', sel.toString());
});