Плагин jquery Curvy Corner не загружается после ajax-запроса JSF - PullRequest
2 голосов
/ 25 января 2012

Мы используем скрипт Curvy corners (http://www.curvycorners.net) для кнопок JSF, чтобы иметь изогнутые углы в IE.

В IE, когда мы выполняем вызов Ajax, в ответе Ajax эти изогнутые углы не выполняютсяпоэтому мы попытались повторно выполнить скрипт curvy corner. как показано ниже в JSF, но по-прежнему не обновляется пышный угол, как перезагрузить пышный угол в ответе Ajax

jsf.ajax.addOnEvent( function(data) {
if (data.status == "success") { // Can be 'begin', 'complete' and 'success'.
alert("curvy corner");
 var settings = {
 tl: { radius: 5 }, tr: { radius: 5 }, bl: { radius: 5 }, br: { radius: 5 },        antiAlias: true
    };
    $.getScript("jquery.curvycorners.min.js", function() {
    curvyCorners(settings, '.button-primary'); });

}

1 Ответ

0 голосов
/ 25 января 2012

Из комментариев:

.getScript не загружает скрипт curvycorner

Тогда местоположение, указанное вами в $.getScript(), просто недопустимо. Как вы уже указали (без косой черты), это относительно текущего URL-адреса запроса. Представьте, что вы открыли страницу JSF с помощью http://localhost:8080/context/some/folder/some.xhtml,, затем $.getScript("jquery.curvycorners.min.js") попытается загрузить ее с http://localhost:8080/context/some/folder/jquery.curvycorners.min.js. Ваша проблема указывает на то, что файла на самом деле нет вообще, но в другой папке или что-то.

Функция обратного вызова $.getScript() вызывается только тогда, когда скрипт успешно загружен. Поэтому вам нужно соответствующим образом исправить местоположение, чтобы оно загружалось правильно.

Но, как вы упомянули в комментариях, этот скрипт уже есть в <head>, и он уже работает при загрузке страницы. Вам вообще не нужно загружать весь сценарий с помощью $.getScript(). Просто вызовите функцию обратного вызова напрямую.

jsf.ajax.addOnEvent(function(data) {
    if (data.status == "success") {
        var settings = {
            tl: { radius: 5 }, tr: { radius: 5 }, bl: { radius: 5 }, br: { radius: 5 },        antiAlias: true
        };
        curvyCorners(settings, '.button-primary');
    }
}
...