사용자 지정 jQuery가 Wordpress Ninja Forms 플러그인에서 작동하지 않음
양식에 영향을 주는 커스텀 jQuery 코드를 추가할 때 문제가 발생했습니다.
예를 들어, 누군가가 입력 또는 라디오 버튼을 클릭할 때 숨기거나 표시할 다른 입력 또는 요소가 있습니다.저는 이런 결과를 얻으려고 노력했습니다.console.log('trigger');dev. console에 아무것도 표시되지 않았습니다.또한 다음과 같은 방법을 시도했습니다.
를 호출하려면click와 함께 행사하다..on('click', function()...또는 이벤트를 소집하기 위해.trigger('click');또는 이벤트를 로 변경합니다.change
스크립트를 ninja 형식의 파일에 삽입하거나 엔딩 시 페이지에 삽입하려면body을 추가하다footer.php
jQuery의 시작 선언을 다음과 같은 함수 내에서 작동하도록 변경하려면 다음과 같이 하십시오.(function($) {$(document).ready(function(){.....
다른 플러그인을 시도할 수 있다는 것을 알고 있습니다.하나를 시도해보니 커스텀 jQuery가 동작합니다만, 이 플러그인이 매우 마음에 들고, 왜 이런 일이 일어나는지 모르겠습니다.
감사해요.
질문을 게시한 지 꽤 되었기 때문에 더 이상 도움이 필요한지는 모르겠지만, 앞으로 다른 사람에게 도움이 될 수도 있습니다.Ninja Forms에서 JS/jQuery를 실행할 수 없는 것은 Ninja Forms가 비동기적으로 폼을 로드하기 때문이라는 것을 알게 되었습니다.따라서 document.ready 함수가 실행될 때 폼은 아직 존재하지 않으며 바인딩할 수 없습니다.
Ninja Forms에는 다음과 같이 사용할 수 있는 자체 이벤트 준비 상태가 있습니다.
jQuery(document).on( 'nfFormReady', function( e, layoutView ) {
// Your code goes here...
});
이벤트를 바인딩하려는 요소가 현재(문서 로드 시) 존재하지 않기 때문에 이벤트가 등록되지 않습니다.Ninja 폼은 폼 콘텐츠를 비동기식으로 로드하므로 폼이 완전히 로드될 때까지 기다렸다가 이벤트 청취자를 추가해야 합니다.이것으로 충분합니다.
var formExists = setInterval(function() {
if ($(".nf-form-cont").length) {
// Set your event listeners here, example:
$("#nf-field-1").click(function(e) {
console.log("click!");
}
clearInterval(formExists);
}
}, 100); // check every 100ms
언급URL : https://stackoverflow.com/questions/40875677/custom-jquery-not-working-on-wordpress-ninja-forms-plugin
'source' 카테고리의 다른 글
| 스프링 부트: 'entityManagerFactory'라는 이름의 빈을 찾을 수 없습니다. (0) | 2023.04.03 |
|---|---|
| JavaScript는 JSON 어레이를 통해 루프합니까? (0) | 2023.04.03 |
| String 타입과 String 타입의 차이점은 무엇입니까? (0) | 2023.04.03 |
| pymongo를 사용하여 값을 업데이트하려면 어떻게 해야 합니까? (0) | 2023.04.03 |
| 다중 사용자 Ajax 웹 응용 프로그램을 동시에 안전하게 설계하는 방법 (0) | 2023.04.03 |