- PR -

IE以外でJavaScriptのevent取得方法って?

1
投稿者投稿内容
Pianoman
常連さん
会議室デビュー日: 2003/05/24
投稿数: 26
投稿日時: 2008-04-10 19:47
表形式で表示された入力項目に値を入力したり書き換えたりした際、その入力項目の行を判定するために、onchangeイベントから辿れないか?と考えているのですが、eventオブジェクトはIE以外のブラウザではどのように取得すればいいのでしょうか?

IEの場合にはwindow.event.srcElementといった記述で行を特定するまでに辿りつけそうなのですが・・・

ご教授のほど、宜しくお願いいたします。
SUK2
ベテラン
会議室デビュー日: 2005/12/27
投稿数: 69
投稿日時: 2008-04-10 20:16
http://www.google.co.jp/search?hl=ja&q=JavaScript+event+IE

色々出てきますね。
Pianoman
常連さん
会議室デビュー日: 2003/05/24
投稿数: 26
投稿日時: 2008-04-11 19:23
SUK2さん、ありがとうございます。
いろいろと出てきますね。逆に多すぎて読んだり選んだりするのに時間がかかったりして・・・(笑)

さてさて、以下のような方法で解決できました。

表のINPUT項目には以下の属性を追加しています。

onchange="changeElement(event);"

CHANGEイベントが起きると、下記changeElementが実行されます。

function changeElement(event){

 (ブラウザを判定する処理も実行している。)

 if (browserType == BROWSER_IE) {
  // ブラウザがIEの場合
  targetCell = window.event.srcElement;
 } else {
  // ブラウザがIE以外の場合
  targetCell = event.target;
 }
 var targetRow = targetCell.parentNode.parentNode;
 var rowNo = targetRow.sectionRowIndex;

最後の2行は、rowNo = targetCell.parentNode.parentNode.sectionRowIndex;
でもいいのでしょうけど。

ブラウザ毎に微妙に違うのは、なんとか統一してもらえないんですかね?
ネックはMSですかね?
1

スキルアップ/キャリアアップ(JOB@IT)