[英]Javascript weird logical operator behavior using JSF : `&&`
我正在嘗試處理javascript中的keydown
事件,而我目前停留在從未發生過的事情上:
var maxL = $("#myField").attr("maxLength")
console.log("Maximum Length : " + maxL);
if (e.key.length === 1 && str.length >= parseInt(maxL)) {
console.log(">>>> in if");
console.log(">>>> e.char == \"" + e.key + "\"");
e.preventDefault();
}
當我加載頁面時,它失敗。 在調試時,我的服務器控制台記錄以下錯誤:
Error Parsing /folder/myPage.xhtml: Error Traced[line: 384] The entity name
must immediately follow the '&' in the entity reference.
其中384是if
所在的行
我分別嘗試了這兩個條件,它們都工作正常,這使我認為“ &&”運算符有問題。
如果這很重要,我將使用PrimeFaces在JSF中的WebSphere服務器上工作,並嘗試在Chrome中運行它。 javascript嵌入div內,以便在頁面加載后將其刪除:
<div id="deleteScript">
<SCRIPT>
//my script code
$("#deleteScript").remove();
</SCRIPT>
</div>
我實際上必須使用以下語法:
<div id="deleteScript">
<SCRIPT>
<!--//--><![CDATA[//><!--
//my script code
$("#deleteScript").remove();
//--><!]]>
</SCRIPT>
</div>
我可以在其他答案中找到。 BalusC似乎認為,只有在使用較舊的Web瀏覽器時,才應使用此解決方案,但是當我們在較舊的JSF服務器上工作時,似乎也有必要使用該解決方案。
這不是瀏覽器的問題。 看來您的服務器正在嘗試在“ &&”上進行操作。 也許您必須在代碼中對其進行轉義。
問題出在您的JS是用html腳本標記編寫的。 如果我是你,我會做的是:
<div id="deleteScript">
<script src="path/to/script.js"></script>
</div>
由於腳本標記位於ID為“ deleteScript”的div
,因此在腳本加載時該元素將存在,您可以將其刪除。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.