- Когда я нажимаю #blue, я хочу fadeOut # red.
- Когда я нажимаю на фон (в данном случае htlm), я хочу исчезнуть # blue
- Я хочу, чтобы, когда я нажимал #blue, #blue не исчезал. Вот почему я использую
e.stopPropagation();
В третьем пункте у меня проблема. В настольных компьютерах это работает хорошо. Но я тестирую его на iPad, и когда я нажимаю #blue, #blue также исчезает. (Я не мог проверить с iPhone или другими телефонами)
Почему это происходит и как это решить?
Примечание:
Я мог бы найти временное решение, поместив div в качестве фона:
$("#background").on('click touchstart', function(){
$("#blue").fadeOut(500);
});
Но я до сих пор не понимаю, почему он не работает с $ ("html") и что происходит с stopPropagation в iOS.
$("#blue").click(function(e) {
e.stopPropagation();
$("#red").fadeOut("slow");
});
$("html").on('click touchstart', function(e){
$("#blue").fadeOut(500);
});
#blue {
position: absolute;
top: 100px; left: 100px;
width:100px; height: 40px;
font-size:16px;
background-color:blue;
cursor: pointer;
}
#red {
position: absolute;
top: 200px; left: 100px;
width:40px; height: 40px;
font-size:16px;
background-color:red;
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="blue"></div>
<div id="red"></div>