0

'title'属性に基づくカスタムツールチップを使用して、デフォルトの動作を削除しようとしています。Firefoxでうまく機能します。ボットはIE9では機能しません。

私はこのようなことをしています:

 $(element).on('mouseover mouseout', '[title], [tipText]', function (e) {
                e.stopPropagation();
                e.preventDefault();
                if (e.type == 'mouseover') {
                        var org_elem = $(e.currentTarget);
                        var tipText = org_elem.attr('title');
                        org_elem.attr('tipText', tipText);
                        org_elem.removeAttr('title');
//then I create custom tooltip which based on tipText attribute
....

IE9で初めて要素にマウスを移動すると、両方のツールチップ(デフォルトとカスタム)が表示されます。それ以外の場合は、カスタムツールチップのみが表示されます。

では、IE9でデフォルトのツールチップを防ぐ方法は?

4

2 に答える 2

1

空のままにしてみましたか?

org_elem.attr("title", "");
于 2012-06-29T15:49:53.650 に答える
-1

代わりに、JQueryデータ属性とメソッドを使用してください。これは、そのようなもののために作られています。

それ以外の:

var tipText = org_elem.attr('title');

次のようになります。

var tipText = org_elem.data('title');

HTML は次のようになります。

<div data-title="text information that would show up on a tooltip"><div>

それ以外の:

<div title="text information that would show up on a tooltip"><div>

実際には、追加の tipText 属性は必要ありません。

于 2012-06-29T16:12:11.680 に答える