HTML にインラインでイベント リスナーを追加するのをやめれば、見積もり (およびその他の多く) の問題はすべて解消されます。
HTML はテキストおよびマルチメディア データを表すためのものであり、インライン CSS および JavaScript を含めることはできません。
最初のステップとして、すべての JavaScript が別々のファイルになるようにコードを再編成できます。
HTML の場合:
<a class="bbcode-link" data-src="\1">\1</a>
<script src="script.js"></script>
でscript.js
:
function showTooltip(e) {
var filename = e.target.getAttribute('data-src')
return tooltip.show('<img src="' + filename + '.jpg" />', 200)
}
function hideTooltip() {
return tooltip.hide()
}
[].forEach.call(
document.querySelectorAll('a.bbcode-link'),
function (link) {
link.addEventListener('mouseover', showTooltip, false)
link.addEventListener('mouseout', hideTooltip, false)
}
)
また、ユーザー入力を HTML に挿入する前にサニタイズしていただきたいと思います。
参照リンク: