禁用用户定义的函数Jquery

时间:2013-01-16 17:05:18

标签: jquery

我有一个导航到horzonital silder的另一个框架的功能..

function goto(id, t) {
    //animate to the div id.
    $(".HozSlidercontentbox-wrapper").animate({ "left": -($(id).position().left) }, 600);

    // remove "active" class from all links inside #nav
    $('#HozSlidernav a').removeClass('active');

    // add active class to the current link
    $(t).addClass('active');
}

我希望能够在选中“克隆”复选框时禁用此功能。

<li class="HozSlider_li"><a id="hypHozSliderMobile" class="HozSlider_a" href="#" onclick="goto('#HozSlider_mobile', this); return false">Mobile</a></li>

<li class="HozSlider_li"><label><input type="checkbox" onclick="DisableGoto()"><span style="color:#0073BF;font-weight:bold">Clone</span></label></li>

如何编写函数DisableGoto,以便在使用hypHozSliderMobile的onClick时不会执行任何操作(已禁用)?

3 个答案:

答案 0 :(得分:2)

更好的方法是检查函数中复选框的状态。如果检查的话,什么也不做。

function goto(id, t) { 

    if(!$('#cloneCheckbox').is(':checked')) {
        $(".HozSlidercontentbox-wrapper").animate({ "left": -($(id).position().left) }, 600);

        // remove "active" class from all links inside #nav
        $('#HozSlidernav a').removeClass('active');

        // add active class to the current link
        $(t).addClass('active');
    }
}

此外,您需要在复选框中输入ID。

<li class="HozSlider_li"><a id="hypHozSliderMobile" class="HozSlider_a" href="#" onclick="goto('#HozSlider_mobile', this); return false">Mobile</a></li>

 <li class="HozSlider_li"><label><input id="cloneCheckbox" type="checkbox" onclick="DisableGoto()"><span style="color:#0073BF;font-weight:bold">Clone</span></label>

答案 1 :(得分:0)

document.getElementById('hypHozSliderMobile').onclick = function(){/*do nothing*/}

答案 2 :(得分:0)

您的问题很难理解,但这是一次尝试。

要禁用锚事件,您必须调用preventDefault()方法

$("#hypHozSliderMobile").click(function(e){
  e.preventDefault();
});