تطبيق نمط مع إكسيككوماند على النص التعسفي
-
27-10-2019 - |
سؤال
أنا أعرف كيفية تنفيذ 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
هو إي فقط وظيفة جافا سكريبت غير القياسية التي ينبغي تجنبها.
إذا أخبرتنا بما تريد استخدامه من أجله ، فيمكننا اقتراح بديل متوافق مع المعايير.
لا تنتمي إلى StackOverflow