DOM要素を変更してそのプロトタイプに追加することができます。我々は唯一のキャンバスに、我々はこのような何かをしたいために何かを追加したい場合たとえば、:要素のインスタンスに関数をアタッチする
HTMLCanvasElement.prototype.doSomething = function(arg) { ... };
私たちは、その後、canvas要素の上にこのアクションを実行することができます。
var canvas = document.getElementById('canvasId');
canvas.doSomething(...);
がそれですHTMLCanvasElementのプロトタイプを変更することなく、このキャンバスのインスタンスに関数を追加/追加することができます。私は、doSomething(...)がDOMのすべてのキャンバス要素ではなく、追加のメソッドにアクセスできるように呼び出されたキャンバスのみが必要です。これどうやってするの?
私はdoSomethingの機能に次のように試してみた:
this.prototype.foobar = function() {...}
ただし、プロトタイプはここで定義されていません。あなたが直接jQueryを使って、あなたのキャンバスオブジェクトにmethod
var canvas = document.getElementById('canvasId');
canvas.doSomething= function() {...}; ///doSomething will only be available to this particular canvas.
canvas.doSomething(...);
doSomethingを呼び出すと、このようにしてすべてのインスタンスがfoobarを持つことができます。 – Anoop
'this.foobar'が設定されているかどうかを確認するためにチェックを追加することができます。そうすれば、彼らは 'doSomething'を呼び出すたびに、' this.foobar'を再設定しません。 – Ian
ああ、ありがとう! – Sai