【问题标题】:jQuery attr('onclick')jQuery attr('onclick')
【发布时间】:2011-08-12 12:04:09
【问题描述】:

我正在尝试更改 jQuery 中的“onclick”属性,但它没有改变,这是我的代码:

$('#stop').click(function() {
     $('next').attr('onclick','stopMoving()');
}

我有一个 id="stop" 的元素,当用户点击它时,我想更改 id="next" 元素的 onclick 属性。

如果有人知道解决方案在哪里,请帮忙!

【问题讨论】:

  • 要通过 id 选择,您必须在 id-name 前加上 # 前缀,以提供选择器 $('#next'),您在第一个选择器中执行此操作,但在第二个选择器中省略。
  • 另外,我发现 .attr('onclick') 没有找到该属性,而 .attr('onClick') 却找到了——即使该属性有小写的 'c ' 在 html 中。

标签: javascript jquery onclick attr


【解决方案1】:

正如@Richard 上面指出的那样,onClick 需要有一个大写的“C”。

$('#stop').click(function() {
     $('next').attr('onClick','stopMoving()');
}

【讨论】:

  • 我正是想要这个。在 html 上编写 onclick,而不仅仅是附加事件。
  • $('#next') 你不见了# :)
【解决方案2】:

Felix Kling 的方法会奏效,(实际上打败了我),但我也建议使用

$('#next').die().live('click', stopMoving);

如果您在多次单击元素时遇到问题和奇怪的行为,这可能是一种更好的方法。

【讨论】:

    【解决方案3】:

    使用 jQuery 方式(并修复错误):

    $('#stop').click(function() {
         $('#next').click(stopMoving);
         // ^-- missing #
    });  // <-- missing );
    

    如果元素已经通过onclick 属性附加了click 处理程序,则必须将其删除:

    $('#next').attr('onclick', '');
    

    更新:正如@Drackir 指出的那样,您可能还必须调用$('#next').unbind('click'); 才能删除通过jQuery 附加的其他点击处理程序。

    但这只是猜测。一如既往:更多信息 => 更好的答案。

    【讨论】:

    • 使用 Felix 发布的代码。使用 jQuery,您不应该考虑更改元素的 onclick 属性,而是将单击事件侦听器附加到元素,这是通过 jQuery click() 方法完成的。
    • 您应该使用:$('#next').unbind('click'); 另外,您使用的是“onlick”而不是“onclick”。 :)
    • @mikerobi:我想你的意思是.one('click', stopMoving)。是的,也许....我们不知道。
    • 它无法解决我的问题我需要通过 attr('element','value') 更改“onclick”属性的方法
    • 这类答案的问题是他们没有回答问题。这些人没有意识到有时您正在处理其他人的代码。当然通常你会在 jQuery 中使用 click 函数。当然。但是,我有一种情况,我需要在预先存在的 onClick 事件中附加一些东西。有一些变量硬编码到 HTML 中。我无法更改 HTML。
    【解决方案4】:

    最简单的方法是将 .attr() 函数更改为 javascript 函数 .setAttribute()

    $('#stop').click(function() {
        $('next')[0].setAttribute('onclick','stopMoving()');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多