Я пытаюсь стилизовать поле ввода, отображаемое с помощью jEditable.
Я хочу изменить цвет ячейки таблицы, когда текст дважды щелкается и становится редактируемым. Нравится:
альтернативный текст http://www.hongaijitsu.com/temp/foobar/public/Picture-2.png
Вот где я сейчас нахожусь: Проблема jEditable CSS (дважды щелкните текст в ячейках таблицы)
Фрагмент HTML:
<tr class = "odd">
<td class = "dblclick" headers = "customer-name">Drogo Shankara</td>
<td class = "dblclick" headers = "mail">[email protected]</td>
<td class = "dblclick" headers = "type">Web</td>
<td class = "dblclick" headers = "status">Pending mail</td>
</tr>
код jQuery:
$(function() {
$(".dblclick").editable("#", {
tooltip : "Doubleclick to edit...",
event : "dblclick",
css : 'inherit'
});
});
Соответствующий CSS:
.dblclick form {
height: inherit !important;
width: inherit !important;
border: 0;
margin: 0;
padding: 0;
background: red;
}
.dblclick input {
height: inherit !important;
width: inherit !important;
border: 0;
margin: 0;
padding: 0;
font: inherit;
color: inherit;
}
Я хочу, чтобы поле ввода унаследовало высоту и ширину от родительской ячейки таблицы, но когда я смотрю на поле ввода в Firebug, оно уже имеет встроенную высоту и ширину CSS, в результате чего ячейка таблицы масштабируется, когда Текст td нажат. Я пытаюсь переопределить встроенный CSS с помощью inherit !important, но это не работает.
Здесь задействована некоторая концепция, которую я не совсем понял, но это может быть что-то совершенно банальное.
Есть идеи, что не так?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


jQuery / JavaScript управляет DOM и динамически добавляет / устанавливает ширину полей ввода каждый раз, когда вы дважды щелкаете мышью. Поскольку встроенные стили (здесь динамически генерируемые в DOM) имеют приоритет над всеми другими стилями, вы не можете изменять динамически отображаемые встроенные стили с новыми атрибутами в присоединенном классе. Если вы хотите избавиться от странного эффекта прыжка, удалите атрибут, устанавливающий ширину всей таблицы в вашем файле screen.css:
стол { граница-коллапс: коллапс; / ширина: 940 пикселей; ...Удалить / }
Кажется, что код запутывается при вычислении ширины для установки поля ввода при использовании фиксированной ширины таблицы (или, может быть, где-то там есть CSS, который "конфликтует"). Когда я удалил ширину из таблицы, все работает и выглядит нормально.
Надеюсь, это поможет, дайте мне знать, если это не так ...