我正在修改一个具有内联 JavaScript 的古老表格,其形式为<a href="javascript:<lots of shit>">
. 内联 JavaScript 可以工作,但需要几个月的时间来重写它以使其适合我的任务,即当单击外部元素时,应该执行内联 JavaScript。
如果我没有任何意义,我很抱歉,但我已经像提供小提琴一样周到了。(表格方面应该无关紧要。) TL;DR:当我单击其中一个彩色时div
,我希望它的内部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)?
});
}
}
});
});