の形式でインライン JavaScript を持つ古いテーブルを変更しています<a href="javascript:<lots of shit>">
。インライン JavaScript は機能しますが、外部要素がクリックされたときにインライン JavaScript を実行する必要があるという私の割り当てに合うように書き直すには数か月かかります。
意味をなさない場合は申し訳ありませんが、fiddleを提供するのと同じくらい思慮深くなっています。(テーブルの側面は問題ではありません。) TL;DR: 色付きdiv
の の 1 つをクリックすると、その内部alert()
を実行したいのですが、どうすればよいですか?
編集。また、リンクは実際には非表示になっています。
#2 を編集します。そして、今のところ、HTML を改ざんするべきではありません。jQuery/JavaScript のみ。
#3 を編集します。テーブルで動作するようにスクリプトを更新しました。インナー<span>
は不要になりましたので、<a>
直接お選びいただけます。今、私はstopPropagation()
正しく使用しているかどうかを知りたいですか?
コード:
$(function () {
$('table.result-v2 tr.view').bind('click', function () {
var $this = $(this),
$next = $this.next();
if ($next.attr('class') == 'detail') {
var $buttons = $this.find('td.buttons'),
$link = null;
if ($next.css('display') == 'none') {
$link = $buttons.find('a.show-link');
} else {
$link = $buttons.find('a.hide-link');
}
if ($link != null) {
eval($link.attr('href')); // evaluate found link
$link.bind('click', function (event) {
event.stopPropagation(); // is this needed when the link never can be clicked (it's hidden)?
});
}
}
});
});