按钮事件在 Firefox 操作系统中不起作用

2024-04-20

function listContents(storagename) {

    alert("inside function");
    //Clear up the list first
    $('#results').html("");
    var files = navigator.getDeviceStorage(storagename);

    var cursor = files.enumerate();

    cursor.onsuccess = function () {
        //alert("Got something");
        var file = this.result;
        if (file != null) {
            var tagvalue = $("<p>" + file.name + "," + file.lastModifiedDate + "," + file.type + "," + file.size + "</p>").appendTo('#results');

            console.log('tagvalue is ' + tagvalue);
            tagvalue.appendTo("#results");
            console.log('tagvalue is upended ' + tagvalue);
            var r = $('<input type="button" value="upload"  id="upload" /  >');
            console.log('button created!' + r);
            r.appendTo("#results");
            console.log('button uploded!' + r);
            this.done = false;
        } else {
            this.done = true;
        }

        if (!this.done) {
            this.continue();
        }
    }

    $('#upload').on('click', function () {
        console.log('onclick function!');
        //alert('blah');
    });

}

在这里我动态创建了上传按钮并应用了onclick事件 我希望点击上传按钮后用户能够在服务器上上传音频文件。如果我申请onclick普通按钮上的事件正在工作,但动态创建按钮时它不起作用。任何人都可以帮助我吗??


Use event delegation http://learn.jquery.com/events/event-delegation/

事件委托允许我们将单个事件侦听器附加到父元素,该事件侦听器将为匹配选择器的所有后代触发,无论这些后代现在存在还是将来添加。

对于动态添加的元素,使用静态父级将事件添加到动态添加的元素。

$('#results').on('click', '#upload', function () {
    // Handler here
});

参见文档:on https://api.jquery.com/on/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按钮事件在 Firefox 操作系统中不起作用 的相关文章

随机推荐