我有同名的函数,并且每个函数都会在不同的页面上触发。 它可以在android和pc上正常运行,但不能在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” !!
答案 0 :(得分:2)
您应该编写单个函数并在其中写入if
条件。使用hasClass
来确定元素是否具有特定的类
function submit(){
if($('main').hasClass('a')){
alert('a');
} else if($('main').hasClass('b')){
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>
答案 1 :(得分:0)
我认为您只需要在函数中包装所有代码。
<main class="a">
<a href="#" onclick="submit()">anchor</a>
</main>
<script>
function submit(){
var tag=$('main');
if(tag.hasClass('a'))
{
alert('a');
}
if(tag.hasClass('b'))
{
alert('b');
}
}
</script>