2013-12-12 3 views
0

Я пытаюсь добавить подсказки JQuery UI в контент внутри CFLayout. Однако в IE8 (режим quirks) всплывающая подсказка появляется напротив левого поля браузера. Я считаю, что это какая-то несовместимость между JQuery и Ext-JS.Можно использовать подсказки JQuery UI с CFLayoutArea?

Для проверки я попытался создать абсолютно позиционированный div с левым 200px в пределах <CFLayoutArea, чтобы увидеть, будет ли он также лежать слева от браузера, но это не так. Вместо этого он появился на 200px с левой стороны <CFLayoutArea, тогда как он должен появиться на 200px с левой стороны окна браузера.

Неужели кто-нибудь сталкивается с подобной проблемой и разрешает ее? Переключение режима quirks на данный момент не является опцией.

UPDATE

мне удалось взломать, используя такой код:

open: function (event, ui) { 
    updateTooltipPositions(); 
} 



function updateTooltipPositions() { 
    $("[id^='ui-tooltip-']").css("left", mouseX-401); 
    $("[id^='ui-tooltip-']").css("top", mouseY+1); 
} 

Однако, это не чистое решение, и это предотвращает анимации, когда всплывающие подсказки с указанием.

+2

Проблема, вероятно, связана с 'cflayout'. Материал UI в ColdFusion ужасен. Сделайте себе одолжение и вырежьте его и используйте библиотеку JS по вашему выбору, например jQuery или ExtJS. –

+0

К сожалению, здесь не вариант. Мне нужно найти временное решение. – Nicholas

+0

Какую версию CF вы используете? –

ответ

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 ---> 

Ни один из них оптимальные решения. Тем не менее, они работали для нашей чувствительной ко времени ситуации.

+0

В каких версиях IE это работает? –

+0

Мы используем его для IE8, хотя я считаю, что он заставит каждую версию IE работать в стандартном режиме. «IE = Edge» должен оставлять только Firefox, Chrome и другие браузеры, если ваша страница не полностью соответствует (у нас есть некоторые затяжные проблемы). – Nicholas

Смежные вопросы