기본적인 질문이 있지만 아직 만족할만한 대답을 찾지 못했습니다. 나는 행동의 개념을 이해하지 못했다. 내가 이해 한 것은 jQuery(document).ready
처럼 더 유연하다는 것이다. 왜냐하면 그것은 여러 번 해고 될 수 있기 때문이다. (예를 들어 ajax 새로 고침). 그러나 항상 aspected로 작동하지는 않습니다. 특히 jQuery 파일을 여러 개 사용하는 것이 좋습니다.드루팔 (Drupal 7 곱하기 js 파일을 사용하는 jQuery 동작
구체적인 문제 : js 파일을 drupal 사이트에 연결했습니다. 양식에 첨부 일부는 모듈에서 drupal_add_js를 통해 연결된 일부는, 일부는 모든 JS 파일은 다음과 같을 등 사용자 정의 블록에 부착 :
(function ($) {
Drupal.behaviors.THEMENAME = {
attach: function(context, settings){
/* CODE */
}
};
}(jQuery));
모든 것이 하나 개의 js 파일을 제외하고 작동 (안 특정 페이지에 않습니다 대부분 작동하지만 노드 페이지는 아닙니다.
하지만 어떻게 행동 이름을 지을 지 잘 모르겠습니다. 그들은 모두 같은 이름을 갖거나 다른 이름을 가져야합니까? 이름 (THEMENAME
)을 변경하고 고유 한 이름 (예 : 해당 모듈)을 제공하면 대부분의 j는 더 이상 작동하지 않지만 특정 페이지에서만 작동하는 것은 이제 모든 페이지에서 작동합니다.
어떻게해야합니까? 서로 다른 j는 종속성이 없으며, 주로 토글, 쇼, 숨기기 및 CSS 조작이 간단합니다.
하지만이 작업을 수행하면 이전에 제대로 작동하지 않은 js 파일 중 아무 것도 작동하지 않습니다. 설명이 뭐야? 이제 더 이상 작동하지 않는 파일은 대부분 을 통해 맞춤 블록에 포함됩니다. $ block [ 'content'] = array ('#attached'=> array ('js'=> array ('FILE.js',),),);););); 또는 양식을 통해 $ 양식 [ '첨부'] [ 'js'] [] = 배열 ('유형'=> '파일', '데이터'=> FILE.js ',);' – Mika
또 다른 js 스크립트로 인해 오류가 발생했습니다 (https://www.drupal.org/node/1181562 참조). 도움을 주셔서 감사합니다. 이제 모든 것이 잘 작동합니다! – Mika