2012-10-08 4 views
1

저는 터치 포인트라는 맞춤 모듈을 만들고 있습니다. touchpoints.module 파일의 맨 위에 나는 다음이 내 touchpoints.js에서 다음Drupal 7 : Drupal.behaviors가 실행되고 있지 않습니다.

global $base_path; 

$my_settings = array(
    'basepath' => $base_path, 
    'module_path' => drupal_get_path('module','touchpoints') 
); 

drupal_add_js(array('touchpoints' => $my_settings), 'setting'); 
drupal_add_js(drupal_get_path('module','touchpoints') . '/touchpoints.js'); 

나는 다음이 파일을

Drupal.behaviors.touchpoints = function(context){ 
    $('.form-item-touchpointlocation').css('display','block'); 
    $('.form-item-touchpointcategory').css('display','none'); 
} 

그것은 내 이해의 그 Drupal.behaviors 제품 내부 $ (document) .ready 호출과 비슷한 DOM로드가 끝나면 호출이 실행되어야합니다. 그러나이 코드는 실행되지 않습니다. 그냥 함수에 경고를 두 었는지, 트리거되지 않았는지 확인하십시오. 실종 된 단계가 있습니까?

답변

1

나는 Drupal 6 구문을 사용하고 있다는 것을 깨달았습니다. 드루팔 (Drupal 7)에서는 행동을 다르게 선언해야합니다. 그것은 참조 참조하십시오이

(function ($) { 
    Drupal.behaviors.touchpoints = { 
     attach: function (context, settings) { 
      $('.form-item-touchpointlocation').css('display','block'); 
      $('.form-item-touchpointcategory').css('display','none'); 
     } 
    }; 
})(jQuery); 

처럼 보였다해야 : http://drupal.org/node/756722

+0

당신이 대답을 발견하더라도 게시 주셔서 감사합니다! 그냥 일부 D6 모듈을 변환 시작 & 나는 올바른 구문을 사용하고 있다고 생각!? (Drupal 신이 나와 장난을 치는 동안 한 시간이 걸렸다) – Merrick

관련 문제