0

私は使用しています:

jqGrid 4.5.2.  
jQueryUI 1.10.3
jQuery 1.9.1

私のjqGridセットアップでは、これを行います:

gridComplete: setupJobStatusLegend

これは次を呼び出します:

function setupJobStatusLegend() {
    $(document).tooltip({
        items: '.has_status_legend',
        content: function(){
            var legend = $('#status_legend');
            legend.css('zIndex', 9999);
            console.log(legend.html());
            return legend;
        }
    });
}

最初に行にカーソルを合わせると、何度もうまく機能します。しかし、行をクリックするか、グリッドの境界を離れると、ツールチップは二度と表示されません。

表示が停止する理由について何か考えはありますか? 動作している場合は、コンソール ログの行に次のように表示されます。

<img src="/static/img/circle_15_green.png"> Active<br>
<img src="/static/img/circle_15_yellow.png"> Hold<br>
<img src="/static/img/circle_15_orange.png"> Closed<br>
<img src="/static/img/circle_15_red.png"> Deleted<br>

機能していない場合はundefined、コンソール ログの行に表示されます。

status_legend の HTML は次のとおりです。

<div id="status_legend" style="position: absolute; zoom: .75; opacity: 1; background-color: #ffffff;">
    <img src="/static/img/circle_15_green.png"> Active<br/>
    <img src="/static/img/circle_15_yellow.png"> Hold<br/>
    <img src="/static/img/circle_15_orange.png"> Closed<br/>
    <img src="/static/img/circle_15_red.png"> Deleted<br/>
</div>
4

1 に答える 1

1

どうにかして dom が見つからないか、ドキュメントから削除されているように見えます。したがって、Javascript は参照渡しを使用しているため、コンテンツ オブジェクトが削除されるまで何度も移動していると推測できます。

オブジェクトのコピーを試すことができますか?

変更してみてください:

var legend = $('#status_legend');

var legend = $('#status_legend').clone();
于 2013-07-16T01:25:58.390 に答える