0

(このイベント ハンドラーを使用して) リンクがたどられないようにするにはどうすればよいですか?

http://jsfiddle.net/chovy/rsqH7/1/

<table>
    <tbody>
        <tr class="msg">
            <header><a href="http://cnn.com">cnn.com</a></header></tr>
    </tbody>
</table>

$('table').on('click', 'tr.msg header', function (e) {
    e.preventDefault();
    var $el = $(e.currentTarget);
    console.log($el);
});
4

1 に答える 1

4

HTML が無効です。<header>内に直接現れることはできず<tr>、それは全体を壊しています。を追加するalertと、ハンドラがまったく呼び出されていないことがわかります。

DOM を検査すると、次のようになります。

<header><a href="http://cnn.com">cnn.com</a></header>
<table>…&lt;/table>

それがブラウザです。いつもどおり役に立ちます。a を追加して HTML を修正すると、<td>修正されます。(または、<th>代わりにという意味でした<header>か?)

于 2013-09-28T23:28:45.223 に答える