JavaScript で記述されたオブジェクトがHtmlのテキストボックスを

1個保持している(コンストラクターでcreateElementで作ってDocument.bodyなどのコンストラクターの引数で与えられたオブジェクトにApendChildで追加している)として、このOnclick属性で、このオブジェクトのメソッドである関数(prototypeで定義されている)を呼び出すには
Onclick= 以降をどのように記述したらいいのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/09/14 12:20:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:backupper No.1

回答回数95ベストアンサー獲得回数10

ポイント60pt
このOnclick属性で、このオブジェクトのメソッドである関数

という部分に二つの「この」という表現がありますが、これはどのオブジェクトにかかっているのでしょう?


このOnclick属性 => JavaScript で記述されたオブジェクトが保持するHtmlのテキストボックスのonclick

このオブジェクトのメソッドである関数 => JavaScript で記述されたオブジェクトのメソッド


と解釈してみた回答が以下ですが、どうでしょうか?

コメントを解放しておくとこういった不確実なやり取りにポイントを消費しなくて済むので便利ですよ。

<html>
<head>
<title>-</title>
</head>
<body>
<form>
</form>
<script type="text/javascript">
function Obj(container) {
  this.textbox = document.createElement('input');
  this.textbox.type = 'text';
  this.textbox.value = 'text box';
  container.appendChild(this.textbox);
}
Obj.prototype.myMethod = function() {
  window.alert(this.textbox.value);
}

var o = new Obj(document.getElementsByTagName('form')[0]);
o.textbox.onclick = function() {
  o.myMethod();
}
</script>
</body>
</html>
id:kubira711

あっ有難う!これでいけそうです。

質問の意図どうりの回答を頂きました。

なるほどオブジェクトの外から中の関数を指定すればいいんだ。

2008/09/07 18:29:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません