Как я могу отделить этот код JavaScript дальше? - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть объект JavaScript. И вы можете увидеть строку:

window.gv.borderiseTDCell(this);

Крайне связана с окном (если gv не инициализировано, оно падает). Однако я действительно хочу уметь:

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

    borderiseTDCell(this);
});

Но это не работает. Есть идеи, что я могу сделать? Это полная версия (с жесткой связью):

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>

Ответы [ 2 ]

0 голосов
/ 14 февраля 2012

Не знаю, зачем вам нужна библиотека, чтобы очертить ячейку таблицы. Как насчет создания класса с именем outlinedCell

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

Затем вы можете добавить, удалить или переключить этот класс

//bind the click event
$('.highlightableTDCell').click(function () {
    $(this).addClass('outlinedCell');
    // or // $(this).removeClass('outlinedCell');
    // or // $(this).toggleClass('outlinedCell');
});

ЖИВОЙ ОБРАЗЕЦ: http://jsfiddle.net/WJp2Z/

0 голосов
/ 14 февраля 2012

Это, вероятно, потому что вы используете this, когда вы должны использовать $(this)

borderiseTDCell($(this));

Кроме того, gridview не определено:

var gridview = function (){}
...