button的type為定義IE產生結果不固定

遇到一個奇怪的問題,原本jQuery內自動button的語法在使用上,我都是利用下列的語法:
var button=$('<button/>')
    .html('myButton')
    .click(function(e){ // do some thing })
    .appendTo($('body'));

原本預期是如此,也大多是如此:

<button type='button'>myButton</button>

但是在使用過程中,有時候button的type在產生之後卻是"submit",造成click事件會postback到後端去:

<button type='submit'>myButton</button>
後來去查一下,IE的<button/>預設type是"button",其他標準w3c瀏覽器的type是"submit",因此這個偷懶的習慣還是得改掉,為了避免產出的type錯誤造成程式邏輯亂掉:
var button=$('<button type="button" />')
    .html('myButton')
    .click(function(e){ // do some thing })
    .appendTo($('body'));

沒有留言:

橫式廣告