繁体   English   中英

尝试将jQuery调用转换为kickout.js

[英]Trying to convert jQuery calls to knockout.js

我有一些代码需要从jQuery调用转换为kickout.js语法。 我一直在尝试所有内容,而且完全被炸了。 啊!

我要完成的任务的快速概述:单击链接之一后,我需要运行toggleButton敲除功能(效果很好),但是除此之外,我还需要单击一下以使“活动”类有效”,然后删除所有其他链接以删除“活动”类。

有问题的HTML:

<div class="topnav" id="myTopnav">
    <a href="#" id="all" class="active" data-bind="click: toggleButton.bind($data,'All')">All</a>
    <a href="#" id="child" data-bind="click: toggleButton.bind($data,'Children')">Children's</a>
    <a href="#" id="indie" data-bind="click: toggleButton.bind($data,'Independent')">Independent</a>
    <a href="#" id="spir" data-bind="click: toggleButton.bind($data,'Spiritual')">Spiritual/Religious</a>
    <a href="#" id="trad" data-bind="click: toggleButton.bind($data,'Traditional')">Traditional</a>
    <a href="#" id="univ" data-bind="click: toggleButton.bind($data,'University')">University</a>
    <a href="#" id="used" data-bind="click: toggleButton.bind($data,'Used')">Used</a>
</div>

有问题的.js:

function setActive(elem) {
    // Remove active class from any current element that has it.
    for (var u=0; u < elem.length; u++) {
        if (elem.hasClass("active")) {
            elem.removeClass("active")
        }
    }
    // Add active class to the clicked item
    $(event.target).addClass("active");
}
setActive($('#myTopnav').children());

试试那个。 这比较简单。

$(document).ready(function(){
$("a").click(function(){
    $(this).addClass("active");
    $("a").not(this).removeClass("active");

});

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM