【发布时间】:2018-09-05 12:53:17
【问题描述】:
我有同名的函数,每个函数都应该在不同的页面上触发。 它在安卓和电脑上都能正常工作,但在 iPhone 上却不行。
if($('main').is('.a')){
function submit(){
alert('a');
}
}
if($('main').is('.b')){
function submit(){
alert('b');
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<main class="a">
<a href="#" onclick="submit()">anchor</a>
</main>
在 iphone 上它会提示“b”!!!
【问题讨论】:
-
为什么你有两个同名的函数?你可以写 if 函数内的条件
-
如果你想检查班级,你也可以在 if 中使用
hasclass() -
在大多数情况下它将返回 b,因为元素的最后定义值(在这种情况下是函数)将始终是使用的值。尽管它取决于您的功能范围。更好的做法是为您的函数使用不同的名称,或者将它们全部放在一个函数中。
-
您应该使用 ELSE。问题是事件的时间安排
标签: javascript jquery ios