我在内联 onclick 中调用一个 javascript 函数,如下所示:
<a href="#" onclick="removeAttribute('foo', 'bar');">Some Link</a>
但是,当我点击链接时,没有任何反应。我有其他链接(到其他功能)与 onclicks 相关联,这些链接在同一页面的其他地方工作正常。此“removeAttribute”函数的所有链接均失败。
Firebug 中没有错误,并且正在调用 onclick 事件处理程序 - 但出于某种原因,进入 removeAttribute 函数最终会在 jQuery.js 中的某个地方结束。在任何时候都不会调用 removeAttribute。
如果我这样做:
javascript:removeAttribute('foo', 'bar');
在 Firefox 的地址栏中。函数调用成功。
有人看到了吗?
最佳答案
你是在调用你自己的方法吗?如果是这样,将其称为 removeAttribute 会造成混淆,因为它已被定义为附加到 DOM 节点的方法。当您的事件处理程序被调用时,其范围被定义为被单击的节点。您的代码可能在被单击的对象上调用内置方法。尝试使用不同的名称或将您的方法放在 Javascript 对象中,以便您可以显式调用它。
关于JavaScript OnClick 处理程序未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2807025/