私は自分のウィジェットを作成していました:
Button = function(){};
Button.prototype = document.createElement('INPUT');
btn = new Button();
btn.type = 'BUTTON';
btn.value = 'test';
btn.onclick = function(){alert('TEST!')}
document.body.appendChild(btn);
新しいタブを開いて Firefox のコンソールにコピー アンド ペーストするだけで、これは問題なく実行されます。しかし、それらを js ファイル (でラップ$(document).ready
) に入れて HTML にリンクし、ブラウザで HTML を開くと、失敗しました。
btn.onclick
行で、それは私に言います:
uncaught exception: [Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame :: main.js :: <TOP_LEVEL> :: line 12" data: no]
私はプロトタイプを継承したのでエラーを理解していますが、私new-ed
は要素を(直接操作していません)、コンソールで正常に動作します。誰でも問題を指摘できますか?