جافا سكريبت: إزالة تسليط الضوء على الماوس الحالي من الصفحة؟

StackOverflow https://stackoverflow.com/questions/1643297

  •  10-07-2019
  •  | 
  •  

سؤال

ودعونا نقول I تسليط الضوء على بعض النص على الصفحة باستخدام الماوس بلدي. كيف يمكنني إزالة كل النص المميز باستخدام جافا سكريبت؟

وشكرا لكم.

هل كانت مفيدة؟

المحلول

ولقد فهم السؤال بشكل مختلف قليلا. أعتقد أنك تريد أن تعرف كيفية حذف النص المحدد من المستند، وفي هذه الحالة يمكن استخدام:

function deleteSelection() {
    if (window.getSelection) {
        // Mozilla
        var selection = window.getSelection();
        if (selection.rangeCount > 0) {
            window.getSelection().deleteFromDocument();
            window.getSelection().removeAllRanges();
        }
    } else if (document.selection) {
        // Internet Explorer
        var ranges = document.selection.createRangeCollection();
        for (var i = 0; i < ranges.length; i++) {
            ranges[i].text = "";
        }
    }
}

إذا كنت ترغب فقط لمسح تسليط الضوء على نفسها، وليس إزالة النص التي يسلط الضوء، وفيما يلي ينبغي أن تفعل خدعة:

function clearSelection() {
    if (window.getSelection) {
        window.getSelection().removeAllRanges();
    } else if (document.selection) {
        document.selection.empty();
    }
}

نصائح أخرى

تستخدم

وIE 4 و Netscape القديمة لديك طريقة لفعل هذا ... انها ليست تعد مناسبة (ولا معتمد).

وأفضل تخمين الخاص بك سيكون لاستخدام جافا سكريبت على التركيز () على كائن، ثم طمس () أيضا - بشكل فعال مثل النقر بعيدا عن الكائن

document.getElementById("someObject").focus();
document.getElementById("someObject").blur();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top