MozillaZine.jp フォーラム https://forums.mozillazine.jp/ |
|
oninput イベントをコードから起こす方法 https://forums.mozillazine.jp/viewtopic.php?f=26&t=8886 |
ページ 1 / 1 |
作成者: | masahal [ 2009年7月29日(水) 18:55 ] |
記事の件名: | oninput イベントをコードから起こす方法 |
テキストボックス要素などの oninput イベントをコードから起こさせる方法ってないでしょうか。 具体的には、自分のアドオン検索ボックス自動入力において、検索を行ったとき、GoogleBar Lite など他のアドオンのテキストボックスにも検索語を入力し、同時にoninput イベントを起こすようにさせたいんですが( id はわかっている場合を考えます。ちなみにGoogleBar Lite の場合は"GBL-SearchBox")。 自分で調べた限りでは直接取得する方法はないようなんですが、例えば何らかの形でキーを押したのと同じ効果を起こさせるとかできないでしょうか。 |
作成者: | mitsugu [ 2009年7月29日(水) 19:42 ] |
記事の件名: | Re: oninput イベントをコードから起こす方法 |
私見ですがmasahalさんがなさろうとされていることは、あまりお薦めできません。理由は以下の通りです。
# 様々なリスクを御自身で引き受け、どうしてもやるのならターゲットとする拡張の # command 要素 の id を調べて、 comannd 要素を呼び出すのが無難かと思います。 # 実際にその機能をインプリメントする前にターゲット拡張の作者さんに # あらかじめ、許諾を得ておいた方がよいかと思います。 # でも、人間関係や技術上、もしくは自作拡張管理上のトラブルの元となり易いので、 # やっぱりお薦めできません。 |
作成者: | Piro [ 2009年7月30日(木) 01:57 ] |
記事の件名: | Re: oninput イベントをコードから起こす方法 |
inputイベントの生成自体は可能です。 やり方としては、手前味噌ですが、自動テストツールのUxUのイベントエミュレーションまわりのコードが参考になるのではないでしょうか。 http://www.cozmixng.org/repos/mozilla/u ... /action.js この中のinputTextToField()というのがそれです。 XUL/Migemoの自動テストでは、これを使ってFirefoxの検索ツールバーに対するユーザの文字入力操作をエミュレートしています。 とはいえ、例えばoninputをトリガーにして各ボタンの有効無効を切り替えるためのupdateUI()というメソッドが呼ばれるので……とかそういうケースなのであれば、inputイベントを完璧にエミュレートするのはちょっとオーバースペックという気もしますね。 自分なら、こういう場合はメソッドの方を直接呼んじゃうと思います。 相手側のバージョンアップにその都度追従する必要はありますが、その方がスッキリして、余計なバグを仕込んでしまう余地が少なくなりますから。 |
作成者: | masahal [ 2009年8月01日(土) 16:34 ] |
記事の件名: | Re: oninput イベントをコードから起こす方法 |
返信が遅れてすいません。 やっぱりほかのアドオンの操作はいろいろ気をつけなければいけないようですね。 とりあえずはこのままで、需要が大きいようなら直接メソッドを呼ぶ方法で検討することにします。 |
ページ 1 / 1 | All times are UTC + 9 hours |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |