เกี่ยวกับ onclick - function

กระทู้คำถาม
ดู code ก่อนเลยครับ

<menu type="context" id="supermenu">
<menuitem label="trial" onclick="alert('Smile please')"></menuitem>
  <menuitem label="rotate" onclick="rotate()" icon="http://cdn1.iconfinder.com/data/icons/silk2/arrow_rotate_clockwise.png"></menuitem>
  <menuitem label="resize" onclick="resize()" icon="http://cdn3.iconfinder.com/data/icons/fugue/icon/image-resize.png"></menuitem>
  <menu label="share">
    <menuitem label="twitter" onclick="alert('foo')"></menuitem>
    <menuitem label="facebook" onclick="alert('bar')"></menuitem>
  </menu>
</menu>

<a href='#' contextmenu="supermenu">Right click me</a>

จาก code ด้านบน มันก็ใช้ได้นะครับ (ยังไม่ต้องสนใจ function ที่มันเรียกเวลาเราเลือกเมนู นะครับ เพราะไม่ได้เอา code มา)

มาดู code นี้ดีกว่าครับ
<menuitem label="rotate" onclick="rotate()" icon="http://cdn1.iconfinder.com/data/icons/silk2/arrow_rotate_clockwise.png"></menuitem>

ผมได้เขียน function ไว้ใน <script><script> ไว้ดังนี้

function rotate()
{
     alert("Ok");
}

ผล - เมื่อเราเลือก menuitem "rotate" มันก็ alert "OK" ตามต้องการครับ

นั่นคือเรื่องปกติของการเขียน onclick="rotate()"

แต่มันมามีปัญหาตอนที่ผมจำเป็นต้องเขียน code ลักษณะนี้ครับ (เขียนใน Scratchpad ของ Firefox นะครับ)
.....นี่คือ code บางส่วน.....
elem.innerHTML = '<menu type="context" id="supermenu">'
    + '<menuitem label="trial" onclick="alert(\'Smile please\')"></menuitem>'
    + '<menuitem label="rotate" onclick="rotate()" icon="http://cdn1.iconfinder.com/data/icons/silk2/arrow_rotate_clockwise.png"></menuitem>'
    + '<menuitem label="resize" onclick="alert(\'Test\')" icon="http://cdn3.iconfinder.com/data/icons/fugue/icon/image-resize.png"></menuitem>'
    + '<menu label="share">'
    + '<menuitem label="twitter" onclick="alert(\'foo\')"></menuitem>'
    + '<menuitem label="facebook" onclick="alert(\'bar\')"></menuitem>'
  + '</menu>';
elem.innerHTML += '</menu>';
elem.innerHTML += '<a href="#" contextmenu="supermenu">Right click me</a>';

ผล - มันรันได้นะครับ พวก code onclick="alert(\'XXXX\')" มันก็ alert ได้ เพียงแต่ว่า มันไปเรียก function ไม่ได้

นี่แหละครับที่ผมอยากทราบ ว่าจะเขียนอย่างไรให้ไปเรียก function ได้
เพราะถ้าเขียน code ไว้เหมือน onclick="alert(\'Smile please\')" มันจะดูยาก แก้ไขยาก เพราะ code ที่ผมต้องการเขียนมันจะยาวกว่านี้มากครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่