Javascript 置換について
■■Javascript 置換について■■
Javascriptでイベント属性のみを置換することは可能でしょうか?
【やりたいこと】
htmlソースの
「onmouseover」を「onClick」に置換したい。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>sanmple</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS">
<link rel="stylesheet" type="text/css" href="../../../css/left.css">
<script src="../../../../JS/jquery.js" type="text/javascript"></script>
<script src="../../../../JS/jquery.cookie.js"
type="text/javascript"></script>
</head>
<body>
<map name="ima">
<area shape="rect" coords="10,20,82,156" onmouseover="POP('ここに表示さ
せる文章がはいってます')" onmouseout="return NNN()">
<area shape="rect" coords="10,30,100,200" onmouseover="POP('いいいいいい
いいいいいいいい')" onmouseout="return NNN()">
</map>
</body>
</html>
上記のような個別ページが1000ページくらいあります。
ある場所を「onmouseover」したら、POPという関数で説明文が表示される動きを
しています。
POPという関数は、
インデックスページに【表示方法1ボタン】【表示方法2ボタン】があり、
押したボタンによって個別ページの表示方法を変更させるために関数を振り分けている。
(インデックスページでフラグをたてる処理をしている。)
function POP(obj){
var text =$.cookie('flag');
//表示方法1
if ( text == "n"){
over(obj);
}
//表示方法2
else if( text == "k"){
top(obj);
}
else {
return false;
}
}
というような動きをしていますが、
今回 「//表示方法2」の時に、イベントハンドラを
「onmouseover」から「onClick」に変更したい。
POP関数部分はそのままにしたい。
↓
POP('ここに説明文がはいってます')
引数は文章が入っているのでJSに移動したくない。
イメージはこんな感じです。
個別ページを読み込んだとき
$(document).ready(function(){
【表示方法2ボタン】のフラグだったら
area の onmouseover を onClick に変更
});
なにか簡単な置換方法はありませんでしょうか?
replaceで置換できませんでした。(string部分じゃないから?)
document.body.innerHTML=document.body.innerHTML.replace(onmouseover,onclick);
何かご存じの方がいらっしゃいましたら、教えて頂けないでしょうか。
よろしくお願い致します。
お礼
改行は、こちらでいろいろ工夫ができます。 解決致しました。 ありがとうございました。