gpt4 book ai didi

javascript - 为什么以下 javascript 在 Internet Explorer 和 Mozilla 中不起作用,但在 google chrome 中工作正常?

转载 作者:行者123 更新时间:2023-12-03 10:53:22 26 4
gpt4 key购买 nike

我在 JavaScript 中获取 session 属性,然后在 if-else 中使用它。该脚本应该在用户某些 anchor 标记单击 anchor 标记时运行。

<a id="someId" href="/someurl" onClick="checkSession(this.id)">Link</a>

<a id="someOtherId" href="/someurl" onClick="checkSession(this.id)">Link2</a>

在体内

<script type="text/javascript">

function checkSomething(clickedId){

event.preventDefault();
var value= <%=(int) session.getAttribute("key")%>;

if(value != -1){
window.location = $('#'+clickedId).attr('href');
}else {
alert("Please Select a value first then click on the link.");
$("#someInput").focus();
}

};


</script>

脚本在 chrome 上运行完美,但在 mozilla 和 IE 上运行失败。在 mozilla 上,我可以看到 anchor 标记已与该 javascript 绑定(bind),但它尚未运行。

最佳答案

传递事件而不是 ID。另外,您不需要 jQuery 来获取元素的 href 。只需使用普通 JavaScript:

<a id="someId" href="/someurl" onClick="checkSession(event)">Link</a>   
<a id="someOtherId" href="/someurl" onClick="checkSession(event)">Link2</a>

<script>
function checkSession(event) {
event.preventDefault();
var clickedId = event.target.id;
var href = event.target.href;

// etc
}
</script>

关于javascript - 为什么以下 javascript 在 Internet Explorer 和 Mozilla 中不起作用,但在 google chrome 中工作正常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28351312/

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