我必須通過一些代碼工作,發現以下函數,我不明白。 hintContainer是什麼,它抓住了每個()的返回值,看起來這個對象應該放在回調函數中?JQuery - 獲取函數的線索
預先感謝您的任何猜測,不幸的是我無法聯繫開發人員。簡而言之,該函數應該抓取所有具有類userHinterPanel和應該顯示它們的div。
function prepareHintMessages() {
// gets all userHintePanels
var hintContainer = jQuery('div.userHintPanel').each(function() {
hintContainer = jQuery(this);
// hint content div
var hintContent = hintContainer.next();
// hint content text
var closeText = hintContainer.find('div.closeTextContainer');
// inserts text into the content container
hintContent.insertBefore(closeText);
// show the complete hint panel
hintContainer.parent().show();
});
}
更新HTML摘錄,這是信息盒:
<form id="form" name="form" method="post"
action="xxx.jsf"
enctype="application/x-www-form-urlencoded" class="newPatientForm">
<div id="form_showAllHintsContainer" class="showAllHintsContainer"
onclick="jQuery('#form_showAllUserHints').click();"
title="Alle verfügbaren Hinweise auf dieser Seite einblenden">
?<input class="hidden" id="form_showAllUserHints"
name="form_showAllUserHints"
onclick="A4J.AJAX.Submit('form',event,{'oncomplete':function(request,event,data){prepareHintMessages();},'similarityGroupingId':'form_showAllUserHints','parameters':{'userPrefActionParamShow':'NEW_PATIENT_HINT','form_showAllUserHints':'form_showAllUserHints'} });return false;"
value="showUserHints" type="button" />
</div>
<div class="generalPadding">
<div id="form_hintRerenderContainer">
<div id="form_newPatientHintWithIsh"
class="userHintPanelContainer newPatient">
<div id="form_newPatientHintWithIshHintPanel"
class="alert-message block-message warning userHintPanel">
<a href="#" onclick="closeHintMessage(this);"
title="Hinweis ausblenden" class="close">×</a>
<div class="header">Hinweis</div>
<div class="text">
<div class="closeTextContainer"
style="position: relative; height: 20px;">
<a href="#" onclick="closeHintMessage(this);"
style="font-size: 14px;" class="close"> Hinweis ausblenden</a>
</div>
</div>
<input class="hidden hideHintButton"
id="form_newPatientHintWithIshHintPanelHideButton"
name="form_newPatientHintWithIshHintPanelHideButton"
onclick="A4J.AJAX.Submit('form',event,{'similarityGroupingId':'form_newPatientHintWithIshHintPanelHideButton','parameters':{'form_newPatientHintWithIshHintPanelHideButton':'form_newPatientHintWithIshHintPanelHideButton','userPrefActionParam':'NEW_PATIENT_HINT'} });return false;"
value="hideUserHints" type="button" />
</div>
<div class="hintContent">
<ul>...</ul>
</div>
</div>
</div>
謝謝,這樣你就不會看到任何形式的在這個代碼中的問題?我在問,因爲我只是在iPad上遇到了一個bug(Safari瀏覽器的屏幕凍結),而JS代碼是我的猜測,它對這個問題負責。在我的桌面上(Windows-Firefox),所有事情都像預期的那樣發生。 – Jochen 2012-04-23 11:41:21
它似乎在做點什麼。但是,var closeText = hintContainer.find('div.closeTextContainer');有點奇怪。它針對一個元素,如
嗯,我試圖furhter找到錯誤,使用日誌消息和我的Tomcat告訴我這個:2012年3月23日14:30:20,161 org.apache.myfaces.renderkit.html.util.DefaultAddResource.writeMyFacesJavascriptBeforeBodyEnd(DefaultAddResource。 java:363) - [http-8444-12] 警告:MyFaces特殊的javascript無法從請求映射中檢索。 我GOOGLE了,但無法弄清楚是什麼原因造成這個問題。這很難察覺。 JS函數運行正常但一次爆炸。我正在使用JSF 2.0。我應該在哪裏看下? – Jochen 2012-04-23 12:29:25