onclick
アンカーの属性の値を変更したいと思います。JavaScript を含む新しい文字列に設定したいと考えています。(その文字列は、サーバーによってクライアント側の JavaScript コードに提供され、HTML の属性に入れることができるものは何でも含めることができonclick
ます。) ここで、私が試したいくつかのことを示します。
- jQuery の使用
attr("onclick", js)
は、Firefox と IE6/7 の両方では機能しません。 - 使用
setAttribute("onclick", js)
は Firefox と IE8 で動作しますが、IE6/7 では動作しません。 - に渡されたコード
onclick = function() { return eval(js); }
の使用が許可されていないため、使用は機能しません。return
eval()
onclick 属性を に設定して、これを Firefox および IE 6/7/8 で機能させるための提案はありますか? これをテストするために使用したコードの下も参照してください。
<html>
<head>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var js = "alert('B'); return false;";
// Set with JQuery: doesn't work
$("a").attr("onclick", js);
// Set with setAttribute(): at least works with Firefox
//document.getElementById("anchor").setAttribute("onclick", js);
});
</script>
</head>
<body>
<a href="http://www.google.com/" id="anchor" onclick="alert('A'); return false;">Click</a>
</body>
</html>