【问题标题】:[0].click() fires once and .click() is firing three times[0].click() 触发一次, .click() 触发三次
【发布时间】:2021-09-03 11:06:14
【问题描述】:
$('#idElelemnt')[0].click() --> fires once

但是

$('#idElelemnt').click() --> firing three times.

没有On.('click') 绑定,我们正在使用 input onclick 属性。

手动点击也会触发一次。

HTML

<div class="radio radio-success radio-inline ">
    <input type="radio" id="uniqueId" onclick="yesOrNoCheck()" value="someValue">
    <label for="uniqueId">
        text
    </label>
</div>

有什么线索吗?

【问题讨论】:

  • [0].click() 解决了问题,我想知道 .click() 触发三次的原因。我已经检查是否加载了多个脚本,是否有多个 id,是否有类似 .on('click',....) 的绑定,但什么都没有,我错过了什么?
  • 甚至 $('#idElelemnt').first().click() 触发了 3 次,$("#idElement").length 为 1
  • 标签没有附加:

标签: jquery asp.net-mvc


【解决方案1】:

您应该通过 jQuery 本身附加点击事件(这样做的正确方法),而不是像 onclick:

<div class="radio radio-success radio-inline ">
<input type="radio" id="uniqueId" value="someValue">
<label for="uniqueId">
    text
</label>
</div>


<script>
$('#uniqueId').on("click", function(){yesOrNoCheck();})
// programmatic click on element should fire only once:
$('#uniqueId').click();
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-03
    • 1970-01-01
    • 2017-04-13
    相关资源
    最近更新 更多