我已经查看了有关此控制台错误的其他问题。这些似乎都不能解决我的困境。我主要看到 API 共存的问题,以及我的其他更复杂的情况......
我正在尝试编写的脚本只是在单击父级时单击子级输入(收音机)。这很容易成为我很长时间以来编写的最小的函数,但我很烦恼。为什么这么小的脚本不起作用?我什至用这两个按钮的 html 和 jquery 制作了一个新的(简单的)html 文件,让它们做我想做的事。我尝试将输入的名称更改为不同的名称。没有骰子。好像 jQuery 被扔进了一个无限循环。
有没有人遇到过这个问题?我在 jQuery 的网站上看到了几个报告的错误,但他们是不正确地使用伪选择器的人(以及其他虚假的“错误”)。我想不通!在此先感谢您的任何指导...
更新:解决方案
使用<label>
作为按钮。大多数浏览器将标签用作“单击随附的输入”。所以在这种情况下不需要 JQUERY。感谢下面贡献的每一个人!!!我想标记一些作为答案。但是不能...
使用的 jQuery 版本
jQuery 1.9.0
HTML
<div class="full-width">
<div class="toggle">
<div class="button">
<input name="ship-to" type="radio" checked="checked" value="billing">
<label for="ship-to">Ship to my billing address</label>
</div>
</div>
<div class="toggle">
<div class="button">
<input name="ship-to" type="radio" value="different">
<label for="ship-to">Ship to different address</label>
</div>
</div>
</div>
jQuery
$(document).ready(function(){
/* Buttons */
$('.button').click(function(){
var $radio = $(this).children('input');
$radio.click();
});
});
控制台错误
Uncaught RangeError: Maximum call stack size exceeded
a
a.matches
st.extend.filter
st.fn.(anonymous function)
(anonymous function)
st.event.dispatch
y.handle
st.event.trigger
(anonymous function)
st.extend.each
st.fn.st.each
st.fn.extend.trigger
st.fn.(anonymous function)
(anonymous function)
st.event.dispatch
y.handle
st.event.trigger
(anonymous function)
st.extend.each
st.fn.st.each
...这种情况持续了相当长的一段时间。