2016-06-23 5 views
0

Я должен использовать JQuery для вызова функции, которая изменяет видимость div с помощью css. Это мой JqueryJQUERY, CSS, обработчики событий

alert("Interactive on line"); 
    function changeView(page) 
     { 
       alert("Handler for click() called. "); 
       if(page === 'home) 
       { 
        $('#HomeTab'.css(display=='none')); 
       } 
     } 
    $('#HomeTab').on('click', { page:'home'}, changeView()); 

Я использовал предупреждение о внутри changeView, чтобы увидеть, если changeView никогда не вызывается, и это не делает. Первоначальное предупреждение перед вызовом функции changeView вызывает вызов, поэтому скрипт связан правильно. Спасибо заранее!

+0

Я скопировал сниппета слово Rayon в для слова и вставить его в мою папку. Он по-прежнему не работает: /. Внешнее оповещение вызывается, но оно даже не попадает во внутреннее предупреждение. – Nithin

ответ

4

См .on(events [, selector ] [, data ], handler)

(а) Вы призываете/вызова функции, не назначая его в качестве обработчика, удаление () после имени функции.

(б) data объекта может получить доступ с помощью event.data.KEY

(с) также исправить опечатку при использовании .css метода, это jQueryElement.css(PROPERTY,VALUE)

function changeView(e) { 
 
    alert("Handler for click() called. "); 
 
    if (e.data.page === 'home') { 
 
    $('#HomeTab').css('display', 'none'); 
 
    //OR $('#HomeTab').hide(); 
 
    } 
 
} 
 
$('#HomeTab').on('click', { 
 
    page: 'home' 
 
}, changeView);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<div id='HomeTab'>Home Tab</div>

+0

Я предлагаю просто добавить класс с желаемым стилем, а не напрямую добавлять css с помощью jquery :) – guradio

+2

@guradio, это зависит от предпочтений разработчиков .. OP имеет немного _syntax_, в своем коде..Suggesting something else would not good it ответ. Я не нахожу никакого вреда в использовании метода '.css', но опять же, _It является разработчиком preference_. Я бы выбрал _class approach_, если мне пришлось изменить многие стили, чем только один. Но да, OP мог пойти с' jQelem.hide() ' – Rayon

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