我一直在嘗試寫使用Domina library在cljs以下等效:如何處理的onsubmit與多米納
HTML:
<form id="my-form">
<input type="text />
<input type="submit" />
</form>
的Javascript(jQuery的):
$("#my-form").submit(function() {
console.log("submit suppressed");
return false;
});
解決方案不令我滿意(沒有Domina庫非常詳細):
(set! (.-onsubmit (.getElementById js/document "my-form")) #(do
(.log js/console "submit suppressed")
false))
我已經嘗試了許多解決方案,都失敗了 - 所有有點類似:
(listen! (by-id "my-form") :submit #(do
(log "submit suppressed")
false))
這是故意的,我不使用click事件,因爲我也想當執行的功能該表單由代碼或鍵盤提交。
我把警報在調用事件之間。只要第一個事件調用完成 - 無論是preventDefault還是stopPropagation,都忽略之後的所有內容(沒有更多的警報可見並且表單已提交)。也許多米納包裝與東西混合 – Jacob
也許你是對的,我會看看,並試圖找到一種方法來解決它。 –
問題在於Domina包裝了'Event'。我更新了我的答案,抱歉發佈了錯誤的答案(我無法在發佈前測試代碼)。 –