Можно ли добавить eventlistener в DIV?
Я знаю эту функцию:
document.addEventListener('touchstart', function(event) {
alert(event.touches.length);
}, false);
Но возможно ли добавить это в div? Пример:
document.getElementById("div").addEventListener('touchstart', function(event) {
alert(event.touches.length);
}, false);
Я еще не проверял, может, некоторые из вас знают, работает ли это?
Ответы
Ответ 1
Да, как вы это делаете.
document.getElementById("div").addEventListener("touchstart", touchHandler, false);
document.getElementById("div").addEventListener("touchmove", touchHandler, false);
document.getElementById("div").addEventListener("touchend", touchHandler, false);
function touchHandler(e) {
if (e.type == "touchstart") {
alert("You touched the screen!");
} else if (e.type == "touchmove") {
alert("You moved your finger!");
} else if (e.type == "touchend" || e.type == "touchcancel") {
alert("You removed your finger from the screen!");
}
}
Или с помощью jQuery
$(function(){
$("#div").bind("touchstart", function (event) {
alert(event.touches.length);
});
});
Ответ 2
В противном случае, если вы не используете addEventListener, возможно, альтернативу получить контроль над ID.
$(document).ready(function () {
$('#container1').on("contextmenu", function (e) {
e.preventDefault();
});
});
Ответ 3
Конечно, предположим, что вы должны вставить текст в элемент h1, когда пользователь нажимает кнопку. Привязать специфический HTML-элемент к методу addEventListener() довольно просто
<button id="button">Show me</button>
<h1 id="name"></h1>
document.getElementById("button").addEventListener("click", function(){
document.getElementById("name").innerHTML = "Hello World!";
});