2012-02-14 12 views
0

私はJavaScriptオブジェクトを持っています。そして、あなたはラインを見ることができます:このJavaScriptコードをさらにデカップリングする方法はありますか?

window.gv.borderiseTDCell(this); 

はtigthly(gvが初期化されていない場合は、それがクラッシュした)ウィンドウに結合されています。しかし、私が本当に欲しいのは次のようなことです:

//bind the click event 
jQuery('.highlightableTDCell').click(function() { 

    borderiseTDCell(this); 
}); 

しかし、それは動作しません。私は何ができるのですか?これは、(密結合で)いっぱいlisinngです:

gridview = function() { 

    //bind the click event 
    jQuery('.highlightableTDCell').click(function() { 

     window.gv.borderiseTDCell(this); 
    }); 

}; 


//selecting cell 
gridview.prototype.selectCell = function (obj) { 

     //dostuff to cell 

    }; 

とページ...

<table class="EditTable" cellpadding="0" cellspacing="0">  
     <tr> 
      <td> 
       <div style="">0</div> 
      </td> 
      <td> 
       <div style="">0 akudsfsa fdhsad fiasgdf swae</div> 
      </td> 
      <td class="highlightableTDCell"> 
       <div> 
        <input value="0.00"/> 
       </div> 
      </td> 
     </tr> 
</table> 
+1

? – JaredPar

+0

JQueryを使用している場合は、これの代わりに$ thisを使用して、正しいポインタにアクセスできます。 – Alfabravo

答えて

0

あなたがthisを使用しているので、あなたが$(this)

borderiseTDCell($(this)); 
を使用しなければならないとき、それはおそらくです

また、gridviewは定義されていないようです。

var gridview = function(){} 
0

なぜ表のセルのアウトラインにライブラリが必要かわかりません。どのようにoutlinedCell

.outlinedCell{border:1px solid #f00;} 

と呼ばれるクラスを作成する方法について次にあなたが

このクラスを追加、削除、または切り替えることができます
//bind the click event 
$('.highlightableTDCell').click(function() { 
    $(this).addClass('outlinedCell'); 
    // or // $(this).removeClass('outlinedCell'); 
    // or // $(this).toggleClass('outlinedCell'); 
}); 

LIVE SAMPLE: `設定window.gv`さhttp://jsfiddle.net/WJp2Z/

+0

は応答に感謝しますが、私の質問には本当に答えません。このクラスは、セルを強調表示するだけではありません。ありがとう – Exitos

関連する問題