2013-03-31 5 views
1

Добрый день, я хочу, чтобы метод click привязывался к div, методом BIND. Мой код прикрепление являетсяПрикрепите событие click для div

$("#brend_list > #mCSB_1 > .mCSB_container > div > a").bind('click',function(){ 
id=$(this).attr('id'); 
ttl=$(this).parent().children("span").html(); 
state=$(this).hasClass("checked"); 

if(state) {$(this).removeClass("checked"); 
$("#"+id+"_filter").remove(); 
} 
else{$(this).addClass("checked"); 


$("#filters").append(" <div style='display:inline-block;' id='"+id+"_filter' class='filter_brands' onclick='brend_uncheck(\""+id+"\"); $(this).remove();'><span>"+ttl+"</span><b>x</b></div> "); 


}}); 

Моя структура ДИВ является

<div id="brend_list" class="mCustomScrollbar _mCS_1"> 
    <div class="mCustomScrollBox mCS-light" id="mCSB_1" style="position:relative; height:100%; overflow:hidden; max-width:100%;"> 
    <div class="mCSB_container" style="position: relative; top: 0px;"> 
    <div><a id="filt_brend001"></a><span>Loreal Paris</span></div><!-- this <a> --> 
    <div><a id="filt_brend002"></a><span>Laura Mercier</span></div> 
    ........... 
    </div> 
    <div class="mCSB_scrollTools" style="position: absolute; display: block;"> 
     <div class="mCSB_draggerContainer"><div class="mCSB_dragger" style="position: absolute; height: 110px; top: 0px;" oncontextmenu="return false;"> 
     <div class="mCSB_dragger_bar" style="position: relative; line-height: 110px;"> 
     </div> 
     </div> 
     <div class="mCSB_draggerRail"> 
     </div> 
    </div> 
    </div> 
    </div> 
</div> 

Но это не придает.

+0

Является ли ваш код в событии $ (document) .ready? – Daedalus

+4

Вы привязываете обработчик к 'A' внутри' DIV'. Но в «А» нет текста, поэтому нажимать нечего. – Barmar

+0

есть изображение на BG, так что есть что-то по щелчку. Перед некоторыми изменениями он работал, но затем я добавляю несколько div для прокрутки, и он разбился – nabiullinas

ответ

2

Вы должны либо изменить

$("#brend_list > #mCSB_1 > .mCSB_container > div > a") 

к

$("#brend_list > #mCSB_1 > .mCSB_container > div > a + span") 

скрипку с выше here.

или изменить HTML от

<div><a id="filt_brend001"></a><span>Loreal Paris</span></div> 

в

<div><a id="filt_brend001"><span>Loreal Paris</span></a></div> 

Fiddle с выше в действии here.

+0

это не помогает ( – nabiullinas

+1

@nabiullinas Какой jQuery вы используете? '.bind()' устарел. Используйте '.on()' – hjpotter92

+0

Я также пробовал идентификатор. Он работал до, но мне нужно было интегрировать http://manos.malihu.gr/tuts/jquery_custom_scrollbar.html. Он вносит некоторые изменения в div. После этого он разбился – nabiullinas

Смежные вопросы