簡體   English   中英

如何根據用戶輸入確定是否發生了更改事件?

[英]How can I determine if change event occurred from user input?

我有一個根據用戶選擇的值更新的動態表單。

一個特別的輸入字段(類型編號)我計算了一個默認值並更新。 但是如果用戶每個人都選擇自己的值,我想尊重這一點,而不是在他們繼續填寫表單時重新計算默認值。

檢測用戶輸入與我的程序輸入的最佳方法是什么?

我想過 onclick 事件,但想尊重他們是否使用鍵盤輸入。 我想過一個 on change 事件,但由於我的程序經常重新計算該值,這將不起作用。

我發現這個答案對 C# 字段有想法確定是否從用戶輸入中發生了更改的事件

我發現這個答案是關於使用輸入事件的 - 檢測 jQuery 中的輸入變化? - 似乎它可以工作,但會在每一次看起來不太理想的擊鍵時觸發。

如果您在輸入上設置“keydown”事件,您會怎么想。 如果您的腳本更改了值而不是僅使用“element.value =”Foo”?

這是一個不需要大量代碼干預或大量事件觸發器的想法:向您的輸入添加一個focousoutblur事件(以更適合您頁面的需求為准),當觸發時,它將獲取輸入的值並進行比較它是您計算出的默認值。 如果不同,則表示用戶選擇了不同的值。 然后您可以將用戶的值存儲在一個隱藏元素中(一個簡單的跨度就可以了)。

下次重新計算默認值時,您可以檢查隱藏元素是否有任何內容,然后不替換輸入中的值。 或者您可以在運行重新計算之前檢查包含用戶輸入的隱藏范圍的內容並完全避免它。

這將是一個不會改變用戶界面的解決方案。 如果可能,最簡單的解決方案是添加一個復選框,允許用戶定義自己的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM