あなたが言及したプラグインのソースコードを見ましたが、やりたいことを実行できるように拡張するのはかなり簡単なはずです。ここにいくつかのヒントがあります。
jquery.maphighlight.js の 127 ~ 136 行目:
mouseover = function(e) {
var shape = shape_from_area(this);
add_shape_to(canvas, shape[0], shape[1], $.metadata ? $.extend({}, options, $(this).metadata()) : options);
};
if(options.alwaysOn) {
$(map).find('area[coords]').each(mouseover);
} else {
$(map).find('area[coords]').mouseover(mouseover).mouseout(function(e) { clear_canvas(canvas); });
}
ここですべてのイベント マジックが発生します。マウスオーバー機能は、領域を強調表示するために使用されます。\
コードでは、次のようにして、強調表示する領域座標を見つけようとすることができます。
$(map).find('#id_of_the_area[coords]').each(moseover);
強調したいタグにid_of_the_area
付けた ID はどこにあるでしょう。<area>
それを関数に入れると、必要な場所から呼び出すことができます。
編集:
コメントの質問に基づいて、さらにいくつかの指針があります。
領域をハイライト/ハイライト解除する関数は、次のようになります。
function highlight(e) {
$(map).find('#id_of_the_area[coords]').each(moseover);
}
function unHighlight(e) {
clear_canvas($(canvas));
}
この例id_of_map
でid_of_canvas
は、and は map 要素と canvas 要素の ID になります。
mouseover
またはclear_canvas
関数およびmap
またはcanvas
変数のスコープが問題になる場合があります。このコードを配置する場所には注意が必要です。この機能を追加する前に、jquery プラグインについて少し調べておくことをお勧めします。
jquery では、任意の html 要素にイベントをアタッチできます。このような:
$('#id_of_element').mouseover(highlight);
$('#id_of_element').mouseout(unHighlight);
id_of_element は、強調表示をトリガーする要素の ID になります。
お役に立てれば!