1
저는 아주 JS와 JQuery에 새로운 것이므로 나와 함께하시기 바랍니다.클릭 이벤트에서 함수 제거
드롭 다운 목록이 있습니다. 목록을 클릭하면 함수가 호출되어 부동 상자 (div)가 열립니다. 이제 우리는 상자가 클릭 이벤트와의 관계를 끊고 로그인 할 때 표시되도록하려고합니다. 그러나 함수에서 코드를 가져 와서 스크립트에 배치하면 다른 div처럼 내 페이지 렌더링이 잘못되거나 아무것도 표시되지 않습니다. 여기
내 HTML에있는 것입니다 :
<li><input class="option_btn room_search" value="Search for Room"/></li>
을 여기에 내 스크립트 모습입니다 같은 :
$("input.room_search").click(function() {
//var roomSearch = new jabberwerx.ui.MUCSearchView(muc, demo_config.conferencealias);
var roomSearch = new jabberwerx.ui.MUCSearchView(muc, conferencealias);
roomSearch.event("actionComplete").bind(function(evt) {
try {
try this...
} catch (e) {
alert("An exception occurred while trying to create/join the MUC room.\n Details: " +
e.message);
}
roomSearch.destroy();
});
roomSearch.render().appendTo(".muc_search");
roomSearch.dimensions({width:600, height:400});
});
제발 도와주세요, 나는 그의 우려와 함께 포럼을 찾기 위해 시도했지만 나는 정확한 키워드를 가지고 있다고 생각하지 않는다. 고맙습니다!
클릭 핸들러에서 코드를 제거하면 이것을 $ (document) .ready (function() {{* 여기에 코드 * *}); 코드는''.muc_search ''요소에 추가하려고하므로, 그 요소가 파싱 된 후에 실행해야합니다. – nnnnnn
예, click 이벤트가있는 원래 코드가 핸들러 내부에도 있지만 핸들러 내부에 있습니다. "귀하의 코드는".muc_search "요소에 추가하려고 시도합니다. ".muc_search"를 "div.muc_search"로 변경하고 페이지를 올바르게 렌더링했습니다. 그래도 기본적으로 플로팅 상자를 표시하지 않았습니다. 한편, 로그인 할 때 클릭 이벤트를 강제로 실행할 수 있다는 것을 발견 했으므로이 작업을 사용할 수 있습니다. $ ("input.room_search"). trigger ('click'); –