我有一个HTML锚标记,如
<a href="anchorid" onclick="callEvent(1)">
我在这里调用Javascript函数,如
<script>
function callEvent(anchor) {
alert("Anchor ID is - "+anchor);
document.getElementById("anchorid").onClick = function () { callEvent(0) }; // BY using this code, update the onclick callEvent(0), like toggle
}
</script>
我想更新像
这样的锚标签<a href="anchorid" onclick="callEvent(0)">
使用此代码时,不会根据我的要求进行更新。
document.getElementById("anchorid").onClick = function () { callEvent(0) };
如何更新?
答案 0 :(得分:2)
要使用document.getElementById("anchorid")..
,您需要在元素中使用id
,这是您目前没有的,请尝试:
//add id to your anchor
<a href="javascript:void(0);" id="anchorid" onclick="return callEvent(1);">
test
</a>
和js
<script type="text/javascript">
function callEvent(num) {
alert("Anchor ID is - "+num);
document.getElementById('anchorid').onclick = function () { callEvent(0) };
}
</script>
答案 1 :(得分:1)
将切换值存储在标签本身中,然后使用。
<script>
function callEvent(val) {
var val = document.getElementById("myId").getAttribute('data-val');
alert(val);
// toggle value
val = val==1?0:1;
document.getElementById("myId").setAttribute('data-val',val);
}
</script>
<a id="myId" data-val="0" onClick="callEvent()">Click</a>
此处值存储在data-val
值中,以便在callEvent函数本身中切换,因此无需重新绑定事件。
答案 2 :(得分:0)
尝试:
document.getElementById("anchorid").onclick
更好:
document.getElementById("anchorid").addEvenetListener('click', function(){
});
答案 3 :(得分:0)
经过测试:http://jsfiddle.net/Yca5W/
document.getElementById("anchorid").onclick =
function () {
alert("clicked");
};
答案 4 :(得分:0)
试试这个:
var anchor= document.getElementById('anchorid');
anchor.addEventListener('click', function() {
callEvent(0);
});
OR
$( "#anchorid" ).click(function() {
callEvent(0);
});
如果您只想将参数从1传递到0或反之亦然,请执行以下操作:
<input type="hidden" name="para" id="para" value="1" >
<a href="anchorid" onclick="callEvent($('#para').val())">
$( "#anchorid" ).click(function() {
if ($('#para').val()==1) {
$('#para').val(0)
} else {
$('#para').val(1)
}
});
答案 5 :(得分:0)
如果您只更改调用函数的参数,那么您不必更改完整事件。你可以这样做:
的 HTML 强> 的
<a id="anchorid" href="#">click me !</a>
的 JS 强> 的
<script>
var anchor = 1;
document.getElementById("anchorid").onclick = function(){
alert("Anchor ID is: " + anchor);
anchor = anchor == 1 ? 0 : 1; //toggle 0 and 1
}
<script>
答案 6 :(得分:0)
试试这个,它可以解决您的问题演示 Fiddle
将id =“anchorid”添加到您的锚标记
下次点击它时,它将通过参数0
调用事件function callEvent(anchor) {
alert("Anchor ID is - "+anchor);
var ele = document.getElementById("anchorid");
ele.setAttribute("onclick","callEvent(0)");
}
它会像您想要的那样更新您的链接
<a href="anchorid" id="anchorid" onclick="callEvent(0)">