0

FF、Chrome、IE8/9、および Safari で正しく動作する次のコードがありますが、IE7 では「searchSubmit」のクリックをキャプチャできません。

jQuery ドキュメントには、子セレクターが IE7 で完全にサポートされていると記載されていますが、この方法では使用できません。相対位置に問題はありますか?

$(document).ready(function() {   
    $('#r_submit > #searchSubmit').click(function() {
       console.log('captured click of searchSubmit');
    });
});

私のHTMLとCSS:

<div id="r_submit">
   <a id="searchSubmit">Go</a>
</div>

#r_submit #searchSubmit {
    background: url("/images/picco/proceed_button.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    height: 38px;
    width: 195px;
    border: none;
    position: relative;
    display: block;
    text-indent: -9999px;
    font-size: 0px;
    line-height: 0px;
    top:0px;
    left: 0px;
    float: left;
    cursor: pointer;
}
4

1 に答える 1

2

ページに特定の ID を持つ 1 つの要素のみが有効であるため、セレクターは次のようになります。

$('#searchSubmit').click(function() {
    console.log('captured click of searchSubmit');
});

コンテンツがページに動的に追加されている場合、「on」メソッドがこれを処理します。

$('#r_submit').on('click', '#searchSubmit', function() {
    console.log('captured click of searchSubmit');
});
于 2012-07-23T13:00:28.543 に答える