Я пытаюсь использовать селектор .has()
только для выполнения ключевых элементов управления, когда у моего тела есть изображение.
Это то, что я пытаюсь в данный момент, но он не работает.
if ($('body').has('img')){
$(document).on('keyup', function (event) {
if (event.which === 37) {
console.log('test');
}
});
}
Я бы предпочел проверить, есть ли изображение с помощью простого селектора:
if ($('img').length) {
$(document).on('keyup', function (event) {
if (event.which === 37) {
console.log('test');
}
});
}
Здесь работает Fiddle
Попробуй это
if ($('body img').length) {
}
Если нормально зарегистрировать элемент hanlder to body, и условие изображения будет динамическим, тогда
$(document).on('keyup', 'body:has(img)', function (event) {
if (event.which === 37) {
console.log('test');
}
});
Почему нет:
$(document).on('keyup', 'body', function (event) {
if($(this).find('img').length) {
if (event.which === 37) {
console.log('test');
}
}
});
$('body').has('img')
не работает?$('body').has('img')
Has$('body').has('img')
вернетarray
с элементами или empty, что всегда будет правдой