ออบเจ็กต์ Bdo (Bdo Object)
ออบเจ็กต์ Bdo ใน HTML DOM เกี่ยวข้องกับอิลิเมนต์ <bdo> ใน HTML คำว่า BDO ย่อมาจาก Bi-Directional Override ใช้สำหรับสร้างและเข้าถึง bdo object มีคุณสมบัติเพียงอย่างเดียวคือ dir ทิศทางข้อความค่าเริ่มต้นคือซ้ายไปขวา (LTR) แต่สามารถลบล้างได้ด้วย <bdo> element
คุณสมบัติ (Properties)
| คุณสมบัติ | คำอธิบาย |
|---|---|
dir | ตั้งค่าหรือคืนค่าของแอตทริบิวต์ dir ของอิลิเมนต์ <bdo> |
ไวยากรณ์ (Syntax)
การสร้าง bdo object
var a = document.createElement("BDO");
การเข้าถึง bdo object
var a = document.getElementById("demoBdo");
ตัวอย่างการใช้งาน
ตัวอย่างด้านล่างแสดงการสร้าง <bdo> แบบไดนามิกพร้อมทิศทางขวาไปซ้าย (RTL)
<!DOCTYPE html>
<html>
<body>
<p>Click the below button to create bdo element with text from right to left</p>
<button onclick="bdoCreate()">CREATE</button>
<button onclick="getDirection()">GET DIRECTION</button>
<br><br>
<p id="Sample"></p>
<script>
function bdoCreate() {
var x = document.createElement("BDO");
var t = document.createTextNode("RIGHT TO LEFT");
x.setAttribute("dir", "rtl");
x.setAttribute("id", "myBDO");
x.appendChild(t);
document.body.appendChild(x);
}
function getDirection() {
var x = document.getElementById("myBDO").dir;
document.getElementById("Sample").innerHTML = "The direction is from " + x;
}
</script>
</body>
</html>
ผลลัพธ์
เริ่มต้น: แสดงปุ่ม 2 ปุ่ม
คลิก CREATE: สร้างข้อความ "RIGHT TO LEFT" แสดงจากขวาไปซ้าย
คลิก GET DIRECTION: แสดง "The direction is from rtl"
คำอธิบายเพิ่มเติม
<bdo>ใช้แทรกทิศทางข้อความ (override bidirectional algorithm)- ค่า
dirที่เป็นไปได้:ltr(left-to-right),rtl(right-to-left) - แอตทริบิวต์
dirเป็นบังคับสำหรับ<bdo> - ใช้สำหรับภาษาที่อ่านขวาไปซ้าย: อาหรับ, ฮีบรู, เฟอร์สี, อูร์ดู
- ต่างจาก
<bdi>(Bi-Directional Isolation) ที่แยกทิศทางข้อความภายใน - สามารถใช้ CSS
direction: rtl;และunicode-bidi: bidi-override;แทนได้