javascript - 带挖空绑定(bind)的完美滚动条

标签 javascript jquery knockout.js perfect-scrollbar

任何人都可以帮我完成完美滚动条 jquery 的 knockout 绑定(bind)处理程序

这是 View 模型

var ViewModel = function () {
this.JobItems = ko.observableArray([
    {
        JobStatus : "New",
        Registration : "123",
        LicencePlate : "234",
        DeliveryDate : "08/01/2014",
        AdditionalInformation : "aasdfa"
    },
    {
        JobStatus : "In Progress",
        Registration : "234",
        LicencePlate : "456",
        DeliveryDate : "04/07/2014",
        AdditionalInformation : "aasdfa"
    },
    {
        JobStatus : "Closed",
        Registration : "abc",
        LicencePlate : "xyz",
        DeliveryDate : "08/01/2014",
        AdditionalInformation : "aasdfa"
    }
]);}

这是代码

<div class="jobListContent" id="create-task-animate-trigger" data-bind="foreach: JobItems, perfectScrollbar: { }">
    <div class="jobListContentItems" data-bind="click: jobListContentItemsClick, css: isActive">
        <div class="status">
            <span data-bind="if: JobStatus() == 'New'">
            <!--<img src="" alt="New Job" />-->
            </span>
            <span data-bind="if: JobStatus() == 'In Progress'">
                <img src="images/jobcards/progress_status.png" alt="In Progress" />
            </span>
            <span data-bind="if: JobStatus() == 'Completed'">
                <img src="images/jobcards/completed.png" alt="Completed" />
            </span>
            <span data-bind="if: JobStatus() == 'Closed'">
                <img src="images/jobcards/closed.png" alt="Closed" />
            </span>
        </div>
        <div class="registration" data-bind="text: Registration"></div>
        <div class="licence" data-bind="text: LicencePlate"></div>
        <div class="delivery" data-bind="text: DeliveryDate"></div>
        <div class="information" data-bind="text: AdditionalInformation"></div>
    </div>
</div>

这是 knockout 绑定(bind)处理程序,它在鼠标悬停时显示滚动条,但它不起作用

ko.bindingHandlers.perfectScrollbar = {
    init: function (element, valueAccessor, allBindingsAccessor) {

        var options = valueAccessor() || {};
        $(element).perfectScrollbar(options);

        ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
            $(element).perfectScrollbar("destroy");
        });
    },
    update: function(element, valueAccessor, allBindingsAccessor) {

        $(element).perfectScrollbar('update');
    }
};

最佳答案

尝试在 init 中注册事件处理程序:

init: function (element, valueAccessor, allBindingsAccessor) {
    ...trimmed...

    //handle the mouse over event, change to fit
    ko.utils.registerEventHandler(element, "mouseenter", function () {
      $(element).perfectScrollbar('update');
    });

关于javascript - 带挖空绑定(bind)的完美滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23636554/

相关文章:

Javascript:访问对象的引用变量

javascript - process.nextTick 中未定义回调

javascript - javascript代码的奇怪问题

javascript - 对源自自定义属性和 td 中文本的表行进行排序

jquery - 使用 jquery.dataTables 从 observableArray 中删除项目后 UI 未更新

javascript - 从输入中删除重复的空格

javascript - 编辑、保存、添加功能到动态表

javascript - 如何将 bootstrap-datetimepicker 设置为今天凌晨 12 点的日期

asp.net-mvc-3 - 何时使用 MVVM(即 Knockout.js)或仅从 Controller 操作返回 EditorTemplate 对象

knockout.js - Typescript 类继承 : override ko. 计算方法