应避免内联事件。不要以这种方式绑定事件。使用 javascript 或 jQuery 完成工作。向锚元素添加了一个类。并将要显示的文本存储在HTML-5 data-* 属性中
HTML
<tr>
<td> <a href="" data-before="あ" data-after="A" class="bubble">あ</a>
<div id="a" class="bubble_table"> <a href=""><div class="img_table"></div></a>
<p>[a], a</p>
</div>
</td>
<td> <a href="" data-before="あ" data-after="B" class="bubble">あ</a>
<div id="b" class="bubble_table"> <a href=""><div class="img_table"></div></a>
<p>[b], b</p>
</div>
</td>
<td> <a href="" data-before="あ" data-after="C" class="bubble">あ</a>
<div id="c" class="bubble_table"> <a href=""><div class="img_table"></div></a>
<p>[c], c</p>
</div>
</td>
</tr>
Javascript
$(document).on('click', function(e) {
e.preventDefault();
var $this = $(e.target);
if($this.closest('td').length) {
if($this.hasClass('bubble') ) {
var $currBubble = $this.next('.bubble_table')
$currBubble.slideToggle();
$('.bubble_table').not($currBubble).slideUp();
}
}
else {
$('.bubble_table').slideUp();
}
});
$('.bubble').on({
mouseover : function() {
$(this).text(function(_,txt) {
return $(this).data('after');
});
},
mouseout: function() {
$(this).text(function(_,txt) {
return $(this).data('before');
});
}
});
检查小提琴