gpt4 book ai didi

javascript - IE7 不调用 javascript onclick

转载 作者:行者123 更新时间:2023-11-30 06:05:52 25 4
gpt4 key购买 nike

我目前正在使用 ASP.Net MVC 1 和 this 构建网站javascript 文件,以便用图像替换默认的单选按钮。我使用单选按钮在使用 jQuery .toggle 的两种形式之间切换。

这在 Firefox、Chrome、Safari 和 IE8 中完美运行,但在 IE7 中根本不起作用。但是,如果我使用 IE 的开发人员工具检查代码并在运行时在 onclick 方法中添加一个空格,它就可以工作。

我不知道这是为什么,我尝试了 jQuery、常规 javascript 的各种组合,使用 return false;以及随之而来的许多变化都无济于事。

如果有人能提供任何帮助,我们将不胜感激。相关代码如下。

Javascript:

var inputs = document.getElementsByTagName("input"), span = Array(), textnode, option, active;

for (a = 0; a < inputs.length; a++) {
if (inputs[a].type == "radio" && inputs[a].className == "styled") {
span[a] = document.createElement("span");

span[a].className = inputs[a].type;
span[a].setAttribute("onclick", inputs[a].getAttributeNode("onclick").nodeValue);
if (inputs[a].checked == true) {
position = "0 -" + (radioHeight * 2) + "px";
span[a].style.backgroundPosition = position;
}
inputs[a].parentNode.insertBefore(span[a], inputs[a]);
inputs[a].onchange = Custom.clear;
if (!inputs[a].getAttribute("disabled")) {
span[a].onmousedown = Custom.pushed;
span[a].onmouseup = Custom.check;
} else {
span[a].className = span[a].className += " disabled";
}
}
}

代码:

<%=Html.RadioButton("rbCustomerSelect", true,Model.IsNewCustomer.GetValueOrDefault(false),new { id="NewCustomerRadioButton", @class="styled", onclick="ShowNewCustomerForm(true);" })%>

呈现为:

<span class="radio" style="background-position: 0px -50px;" onclick="ShowNewCustomerForm(true);"/>

最佳答案

您说您使用的是 jQuery,所以我建议在加载 DOM 并且从单选按钮生成 span 标记时绑定(bind)到单击事件。 jQuery 的美妙之处在于它试图在不同的 javascript 实现之间保持一定程度的一致性。

尝试删除 onclick 参数,并更改 javascript,以便它为生成的 span 提供一个 id。添加以下行:

span[a].className = inputs[a].type;
span[a].id = inputs[a].id + "-span";

然后在span生成后使用这个javascript绑定(bind)到click事件

$(function(){
$("#NewCustomerRadioButton-span").click(function(){ShowNewCustomerForm(true)});
})

也许 IE7 没有正确地将 span 注册为 DOM 元素,但使用 jQuery 绑定(bind)到点击事件应该可以解决这个问题。

关于javascript - IE7 不调用 javascript onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4812388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com