2015-11-22 2 views
1

Я пытаюсь воспроизводить звук каждый раз, когда вы вводите что-то в текстовое поле. Мой код:Воспроизведение звука с помощью JavaScript (oninput)

var snd = new Audio('http://www.soundjig.com/pages/soundfx/beeps.php?mp3=beep1.mp3'); 
 

 
function click(){ 
 
snd.play(); 
 
} 
 

 
function intro2(){ 
 
    alert("OK!"); 
 
    }
<input id="name" onchange="intro2()" oninput="click()">
Как вы видите, OnChange работы, но oninput не ....

JSFiddle: JSFiddle link

Я не знаю, почему это не работает. Можете ли вы помочь?

Извините, если это плохой вопрос; Я новичок в программировании.

ответ

1

Ваш код работает нормально. oninput Событие будет инициировано, когда значение изменится на тег input. Он не срабатывает при нажатии на input.

Для тестирования введите текст на входе, и ваша функция click() будет запущена и воспроизведена аудио.

ИЛИ

Если вы хотите воспроизвести звук с click события на входе, то вы можете прикрепить что-то click события как.

<input id="name" onchange="intro2()" onclick="click()"> 
+0

Я сделал тест это, но по какой-то причине, звук не работает. – Stardust

+0

Хорошо, я исправил это. По-видимому, у меня был сценарий, который был помещен в неправильном месте документа HTML. Благодаря! – Stardust

1

Надеюсь, это то, что вы хотели. Дайте мне знать, нужно ли мне это изменить.

var snd = new Audio('http://www.soundjig.com/pages/soundfx/beeps.php?mp3=beep1.mp3'); 
 
document.getElementById('name').oninput = function() { 
 
    snd.currentTime = 0; 
 
    snd.play(); 
 
};
<input id="name">

+0

Это отличный ответ. Благодаря! – Stardust

Смежные вопросы