在knockout Model中检测Jquery img src更新

时间:2014-08-11 09:11:27

标签: jquery knockout.js

我们需要使用Jquery更新img src,但是在Knockout observable属性中没有检测到该更改。

请咨询

2 个答案:

答案 0 :(得分:0)

你可以使用这个脚本(在我的情况下,我使用了悬停事件。)

$(function() {
$("img")
    .mouseover(function() { 
        var src = $(this).attr("src").match(/[^\.]+/) + "over.gif";
        $(this).attr("src", src);
    })
    .mouseout(function() {
        var src = $(this).attr("src").replace("over.gif", ".gif");
        $(this).attr("src", src);
    });

});

答案 1 :(得分:0)

你可以这样做:

Firstly add this event in your databind in your html :

  <input class=" input-file" id="fileUpload" type="file" data-bind="event: { change: _updateImg}" />

接下来,在你的js文件中创建函数_updateImg,这个函数替换你的img:

function _updateImg(data, event) {
        var me = this, files, reader;
        files = event.currentTarget.files;

        // Ajout de la photo après sélection
        if (files.length > 0) {
            reader = new FileReader();
            reader.onload = function (e) {
                me.pictureUrl(e.target.result);
            };
            reader.readAsDataURL(files[0]);
        }
    };

问我是否想要一些信息..