0

我正在使用名为EmojiOne的表情符号库,我正在使用他们的示例中的以下代码将文本转换为表情符号,当我加载页面时它可以正常工作,但是当一个新元素动态出现时,它在我刷新之前对它们不起作用这页纸。我怎样才能让它在动态加载的情况下工作?

$(document).ready(function() {
    $(".convert-emoji").each(function() {
        var original = $(this).html();
        var converted = emojione.toImage(original);
        $(this).html(converted);
    });
});

这是示例的链接:http: //git.emojione.com/demos/class-convert.html

4

2 回答 2

1

将此代码提取到一个函数并在您想要的位置调用此函数...或设置一个间隔...

function refreshEmojis() {
    $(".convert-emoji").each(function() {
        var original = $(this).html();
        var converted = emojione.toImage(original);
        $(this).html(converted);
    });
}

$(document).ready(refreshEmojis); //on page load

$("#someButtonId").on("click", function() { //click of some button
    //some action...
    refreshEmojis();
});

setInterval(refreshEmojis, 100); //each 100 milliseconds
于 2016-07-10T23:17:47.670 回答
1
$(document).ready(function() {
    doThing();
});

function doThing(){
    $(".convert-emoji").each(function() {
            var original = $(this).html();
            var converted = emojione.toImage(original);
            $(this).html(converted);
    });
}

function yourAppendFunction(){
    //here are you appending new element and the fire the function

    doThing();

}
于 2016-07-10T23:33:53.147 回答