سؤال

أنا أعرف كيفية تنفيذ execCommand على بعض النص المحدد ، ولكن هل هناك طريقة لتنفيذ على بعض النص الآخر في بلدي contenteditable شعبة ?

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

المحلول

في إي ، نعم.في المتصفحات الأخرى ، لا.

تنفذ جميع متصفحات سطح المكتب الرئيسية شكلا من أشكال document.execCommand(), ، الذي يعمل فقط على اختيار المستخدم.في إي ، و TextRange يحتوي الكائن أيضا على execCommand الطريقة.على سبيل المثال ، سيؤدي ما يلي إلى تحويل محتويات النص لعنصر ما إلى اللون الأخضر عندما يحوم المستخدم المؤشر فوقه:

<div id="test">Here is a test div</div>

<script type="text/javascript">
    var div = document.getElementById("test");
    div.onmouseover = function() {
        if (document.body.createTextRange) {
            var textRange = document.body.createTextRange();
            textRange.moveToElementText(div);
            textRange.execCommand("foreColor", false, "green");
        }
    };
</script>

نصائح أخرى

في حال لم تكن على علم ، فإن .execCommand هو إي فقط وظيفة جافا سكريبت غير القياسية التي ينبغي تجنبها.

إذا أخبرتنا بما تريد استخدامه من أجله ، فيمكننا اقتراح بديل متوافق مع المعايير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top