我是Crossrider的新手,我希望能夠基於用戶與頁面的交互觸發事件。Crossrider - 如何觸發頁面中用戶活動的事件?
例如,具有當用戶懸停在一個HTML輸入元件的聲音播放:
extension.js
appAPI.ready(function() {
//the link to Alarm01 is valid
var Alarm01 = new Audio('http://localhost/playing-with-sound/jquery%20mobile%20forms/sounds/Alarm01.wav')
$('input').mouseenter(function(){
Alarm01.play();
})
});
上面的代碼不工作。有誰知道什麼是正確的方法來做到這一點?
我也試過把它放在background.js中 - 那也行不通。我使用Chrome作爲我的瀏覽器。
這個想法是讓用戶在彈出窗口中選擇一個事件(例如,將鼠標懸停在一個輸入元素上來播放Alarm01),然後立即將其應用於當前網頁。以便下次用戶將鼠標懸停在輸入元素上時播放Alarm01。
在Crossrider擴展中訪問HTML頁面元素的正確方法是什麼?
謝謝!
編輯:跟進問題
是否有可能觸發與jQuery Mobile的元素在用戶的交互事件?例如data-role =「slider」的元素:
appAPI.ready(function($) {
//the link to Alarm01 is valid
var Alarm01 = new Audio('http://localhost/playing-with-sound/jquery%20mobile%20forms/sounds/Alarm01.wav');
// Add audio to page
document.body.appendChild(Alarm01);
$('[data-role=slider]').on('change', function(){
Alarm01.play();
})
});
謝謝!!!!
編輯: 如果我包括jQuery Mobile的在extension.js我得到雙倍的每一個元素上的移動網站。因此,而不是讓數據角色=「滑蓋」的一個組成部分,我得到兩個...
我得到這個: 與此相反:
你好,謝謝你的快速響應。我現在得到以下錯誤行$('input')。mouseenter ...: ** Uncaught TypeError:屬性'$'的對象[對象對象]不是一個函數。** 我猜是有JQuery被加載時出了什麼問題......你知道如何解決這個問題嗎? – Ekaterina
道歉,我專注於音頻問題,並沒有注意到你沒有指定$作爲appAPI.ready的回調參數:-)我在我的例子中修復了它。 – Shlomo
謝謝!它現在有效! :) – Ekaterina