人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


●質問者: kubira711
●カテゴリ:ウェブ制作
✍キーワード:BODY HTML JavaScript Prototype オブジェクト
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● backupper
●60ポイント
この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>
◎質問者からの返答

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ