Мне нужно выполнить несколько внутренних методов, основанных на классах CSS <html>
или <body>
.
Чтобы определить, имеет ли тег <html>
имя класса CSS "someClass"
Я использовал JQuery $("html").hasClass("someClass")
.Затем я обернул его в функцию с возвращаемыми значениями
function hasSomeClass() {
if ($("html").hasClass("someClass")) {
return true;
} else {
return false;
}
}
Затем я выполнил свою функцию в контроллере через RequestContext.getCurrentInstance().execute("hasSomeClass();");
.Но тип возврата RequestContext.getCurrentInstance().execute()
, если void.
В: Как я могу отправить возвращаемое значение моей функции javascript моей функции bean-компонента?
Я могуПодумайте о некоторых опциях, но я бы хотел передать возвращаемое значение в качестве параметра моему внутреннему методу напрямую вместо этих обходных путей:
- Использовать глобальную переменную javascript в качестве параметра
- Использоватьскрытое поле ввода
Редактировать: О других решениях:
Я также пробовал это решение , но я не знаю, куда поставить remoteCommandFunctionName([{name: 'name1', value: 'value1'}, {name: 'name2', value: 'value2'}]);
.Я помещу это в <script>
тег?Обернуть ли это function
?Потому что если я System.out.println(name1);
получу null
.
Мое быстрое исправление со странным поведением:
<h:body onload="hasSomeClass() ? #{controller.onDoSomething('true')} : #{Controller.onDoSomething('false')}" >
возвращает true
и false
с интервалом в миллисекунду, хотя <html>
имеет someClass
.