0

エリアを動的に無効にするにはどうすればよいですか? 簡単な例として、特定の象限領域をクリックすると、別のボタン入力をクリックするまでその領域 (マップ全体ではない) が無効になっているとします。map-area に「disabled」属性があればよかったのですが、そうではないことはわかっています。誰でも回避策を手伝ってもらえますか?

    <img id="square_img" src="images/square.png" usemap="#square" class="chart_class">
    <map id="square_map" name="square">
        <area id="quadrant1" shape="poly"  class="area_class" coords="206,10, 300,10, 388,10, 388,100, 388,196, 300,196, 206,196, 206,100" href="#" title="Quadrant1"></area>
        <area id="quadrant2" shape="poly"  class="area_class" coords="13,10, 100,10, 194,10, 194,100, 194,196, 100,196, 13,196, 13,100" href="#" title="Quadrant 2"></area>
        <area id="quadrant3" shape="poly"  class="area_class" coords="13,208, 100,208, 194,208, 194,300, 194,387, 100,387, 13,387, 13,200" href="#" title="Quadrant 3"></area>          
        <area id="quadrant4" shape="poly"  class="area_class" coords="206,208, 300,208, 388,208, 388,300, 388,387, 300,387, 206,387, 206,300" href="#" title="Quadrant 4"></area>   
    </map>
<input type="button" value="restore"/>

使ってみ$(this).attr('onclick','return false;');ました - うまくいきませんでした。

ただし、心に留めていることがあります。coords_tempと同じ値を持つ属性を持っていますcoords。を$('area').click()に設定coords0,0,0,0ます。再度有効にする必要がある場合は、値を使用してcoords_tempを設定coordsします。それは機能しますが、多くのマップ領域があるとしましょう。そして、0,0,0,0まだクリック可能ではないでしょうか? 非常に難しいですが、それでもクリック可能ですよね? ありがとう。

4

1 に答える 1

1

クリックしたらこれを追加することをお勧めします最初に不要なものを削除します

function addCoord(){
    var elem = '<area id="quadrant1" shape="poly"  class="area_class" coords="206,10, 300,10, 388,10, 388,100, 388,196, 300,196, 206,196, 206,100" href="#" title="Quadrant1"></area>';
    var addElementTo = document.getElementById("square_map");
    addElementTo.innerHTML=elem;
}

関数を onlclick イベントに追加するだけです。

後で追加するものがわからないため、最初のものを使用したことに注意してください。

于 2012-11-10T03:15:29.127 に答える