Я пытаюсь добавить подсказки JQuery UI в контент внутри CFLayout. Однако в IE8 (режим quirks) всплывающая подсказка появляется напротив левого поля браузера. Я считаю, что это какая-то несовместимость между JQuery и Ext-JS.
Чтобы протестировать, я попытался создать абсолютно позиционированный div с левой <CFLayoutArea
200px в <CFLayoutArea
чтобы увидеть, будет ли он также <CFLayoutArea
влево от браузера, но это не так. Вместо этого он появился на 200px с левой стороны <CFLayoutArea
тогда как он должен появиться на 200px с левой стороны окна браузера.
Кто-нибудь сталкивался с проблемой и разрешал подобную проблему? Переключение режима quirks на данный момент не является опцией.
ОБНОВИТЬ
Мне удалось взломать, используя такой код:
open: function (event, ui) {
updateTooltipPositions();
}
function updateTooltipPositions() {
$("[id^='ui-tooltip-']").css("left", mouseX-401);
$("[id^='ui-tooltip-']").css("top", mouseY+1);
}
Однако это не чистое решение, и оно предотвращает анимацию при показе всплывающих подсказок.
В итоге мы решили использовать следующий хак:
open: function (event, ui) {
updateTooltipPositions();
}
function updateTooltipPositions() {
$("[id^='ui-tooltip-']").css("left", mouseX-401);
$("[id^='ui-tooltip-']").css("top", mouseY+1);
}
Кроме того, IE дал нам некоторые проблемы с ручным закрытием всплывающих подсказок. Чтобы избежать этого, нам пришлось вынудить эту конкретную страницу из режима причуд:
<cfheader name="X-UA-Compatible" value="IE=Edge"> <!--- Force browser into standards mode --->
Ни одно из них не является оптимальным решением. Тем не менее, они работали для нашей чувствительной ко времени ситуации.
cflayout
. Пользовательский интерфейс в ColdFusion ужасен. Сделайте себе одолжение, вырвите его и используйте библиотеку JS по вашему выбору, например, jQuery или ExtJS.