ดู 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 ที่ผมต้องการเขียนมันจะยาวกว่านี้มากครับ
เกี่ยวกับ onclick - function
<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 ที่ผมต้องการเขียนมันจะยาวกว่านี้มากครับ