0

onmouseover イベントを含む特定の「エリア」を含むイメージ マップがあります。これらのイベントのほとんどは、いくつかの座標を渡す関数を起動します。関数 SFX_ShowIconOver で座標を操作できるようにしたいと考えています。

イメージ マップはサード パーティのアプリによって作成されるため、レンダリングされたコンテンツのみを操作できます。

<AREA onmouseover="SFX_ShowIconOver('Chart2','29456',368,10,22,22,false,this)" title="Legend Box" onclick="SFX_SendCommand('29456',false)" shape=rect coords=368,10,390,32>
4

3 に答える 3

0

onmouseoverJQuery を使用して DOM から属性を削除し、JQuery を使用して独自のマウスオーバーを追加することができます。

EDITここ
を見てください。その後、サードパーティのアイテムがロードされた後に「オーバーライドされた」関数が宣言されていることを確認するだけです。

于 2012-08-17T09:27:12.910 に答える
0

最終的にやりたかったことを実現することができました。コードは次のとおりです。

            $("area").filter(function () { return this.outerHTML.match('SFX_ShowIconOver') })
        .each(function () {
            var pairs = $(this).attr("outerHTML").split(', ');

            for (var i = 0; i < pairs.length; i++) {
                var nums = pairs[i].split(',');
                nums[3] = 40;
                pairs[i] = nums.join(',');
            }

            $(this).attr("outerHTML", pairs.join(', '));
        });
于 2012-08-17T11:05:12.850 に答える
0

インライン JavaScript を使用せず、jQuery スタイルに変更してから、変数を変更しますa,b,c,d,e

var a,b,c,d,e;
$('#area_id').mouseover(function() {
   SFX_ShowIconOver('Chart2', a, b, c, d, e, false,this);
}).click(function() {
   SFX_SendCommand(a, false);
});
于 2012-08-17T09:02:14.253 に答える