为什么这个函数 javascript 不警报

Why this function javascript not alert?

本文关键字:javascript 函数 为什么      更新时间:2023-09-26

为什么这个函数javascript不警报?

首先,单击CLICK 1将显示delete然后单击delete

为什么不提醒111-aaaa我该怎么做?

https://jsfiddle.net/tdpusq05/

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div onclick="test_fn1()">CLICK 1</div>
<div id="demo"></div>
<script>
function test_fn1() {
document.getElementById("demo").innerHTML = "<span onclick='delete_fn('111-aaaa')'>delete</span>";
};
</script>
<script>
function delete_fn(no_delete)
{
    alert(no_delete);
};
</script>

delete_fn('111-aaaa')周围的onclick中删除单引号,如下所示

function test_fn1() {
    document.getElementById("demo").innerHTML = "<span onclick=delete_fn('111-aaaa')>delete</span>";
};
<html>
<head>
</head>
<body>
<div onclick="test_fn1()">CLICK 1</div>
<div id="demo"></div>
<script>
    function test_fn1() {
        document.getElementById("demo").innerHTML = "<span onclick='delete_fn('"111-aaaa'")'>delete</span>";
    }
</script>
<script>
    function delete_fn(no_delete) {
        alert(no_delete);
    };
</script>

</body>
</html>

更改test_fn1方法以转义引号,这里是小提琴

function test_fn1() {
document.getElementById("demo").innerHTML = "<span onclick='"delete_fn('111-aaaa')'">delete</span>";
}
function delete_fn(no_delete)
{
    alert(no_delete);
}

JS 不会使用 onclick 函数捕获动态创建的元素。你必须做事件委派(如果你使用的是jQuery):-

$('#id').on('click', 'yourSelector', function() {
  //do something
});