我在过去3个小时左右的时间里一直试图解决这个问题,但我无法在任何地方找到答案。我尝试做的是使用单选按钮的onclick事件动态更改链接的onclick事件。这甚至可能吗?我的代码看起来像这样..
<input type="radio" name="test" onclick="document.getElementById('submit').onclick='alert(\'Hello\');'">First<br/>
<input type="radio" name="test" onclick="document.getElementById('submit').onclick='alert(\'Hi\');'">Second<br/>
<a id="submit" onclick="" href="index.html">Click Here</a>
答案 0 :(得分:2)
试试这个:
<input type="radio" name="test" onclick="document.getElementById('submit').onclick=function(){alert('Hello');}">First<br/>
<input type="radio" name="test" onclick="document.getElementById('submit').onclick=function(){alert('Hi');}">Second<br/>
<a id="submit" onclick="" href="index.html">Click Here</a>
答案 1 :(得分:0)
试试这个,
<input type="radio" name="test" onclick="attachEventToLinkOnClick(myFuncion1)">First<br/>
<input type="radio" name="test" onclick="attachEventToLinkOnClick(myFuncion2)">Second<br/>
<a id="submit" onclick="" href="index.html">Click Here</a>
<script type="text/javascript">
function attachEventToLinkOnClick(func){
var link = document.getElementById("submit");
link.onclick = fun;
}
function myFuncion1(){
alert("hello");
}
function myFuncion2(){
alert("hi");
}
</script>
答案 2 :(得分:0)
我建议您在撰写<script type="text/javascript">
和<input>
元素后添加新的脚本代码<a>
。
<input type="radio" name="test" onclick="changeFun(fun1)">First<br/>
<input type="radio" name="test" onclick="changeFun(fun2)">Second<br/>
<a id="submit" onclick="" href="index.html">Click Here</a>
在脚本标记内写下以下内容:
<script type="text/javascript">
var fun1 = function () {
alert('Hello')
}
var fun2 = function () {
alert('Hi')
}
var changeFun = function (newFun) {
document.getElementById('submit').onclick = newFun;
}
</script>
祝你好运。
答案 3 :(得分:0)
查看此jsfiddle
http://jsfiddle.net/h_awk/98Gt8/
<input type="radio" name="test" class="test" />
<input type="radio" name="test" class="test" />
<a id="submit" href="javascript:void(0);">Click Here</a>
<script>
function addEvent(elemClass, elemId, evt, index, cbFunc)
{
var elemClass = document.getElementsByClassName(elemClass),
elemId = document.getElementById(elemId);
if( elemClass[index] )
{
elemId.addEventListener(evt, cbFunc, false);
}
}
function say(msg)
{
alert(msg);
}
addEvent('test', 'submit', 'click', 0, function(){say('hello');});
addEvent('test', 'submit', 'click', 1, function(){say('hi');});
</script>
这应该有效,但有一点点问题,冒泡,我会尝试修复它,因为你看到它是如何工作的..