我使用ASP.Net MVC 1目前正在建設一個網站,並使用this JavaScript文件,以便與圖像替換默認的單選按鈕。我正在使用單選按鈕在jQuery .toggle之間切換兩種形式。IE7不調用JavaScript的onclick
這工作完全在火狐,Chrome,Safari和IE8,但不會在IE7在所有的工作。但是,如果我使用IE的開發人員工具檢查代碼並在運行時在onclick方法中添加一個空格,它就可以工作。
我不知道這是爲什麼,我已經試過jQuery的,常規的JavaScript的各種組合,使用返回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);"/>
添加空格之前單擊收音機時是否出現JavaScript錯誤?也許在解釋時間?下一個明顯的問題是,爲什麼不只是讓服務器返回跨度而不是輸入? – 2011-01-27 03:26:19
根本沒有javascript錯誤。至少沒有被抓到。 – Steve 2011-01-27 03:42:50