你好,我正在嘗試編寫一個使用非標準文字作為按鈕的模式。也就是說,根據文檔,需要一個帶有文字OK 、 Yes 、 No或Cancel 的按鈕作為關閉模式的方式。在這種情況下,我有幾個模式,其中不是“確定”,而是“繼續”,而不是“取消”,而是“現在不是”。我發現根據文檔您可以執行以下操作:
acknowledgeButton = Button Box( acknowledgeText, acknowledgeButton << Close Window ),
為了使用具有不同文字的按鈕來關閉模式。問題是由此產生的行為有點奇怪。具體來說,單擊時,按鈕消失,但在模態消失之前有一段延遲,因此在大約半秒的時間裡,您仍然可以看到模態,只是沒有按鈕。我可以做些什麼來獲得標準的“確定”/“取消”行為,其中模式在單擊時立即消失?
我的模態的完整程式碼:
Names Default To Here( 1 );
simpleMessageModal = Function( {title, message, acknowledgeText},
{Default Local},
result = Associative Array();
modal = New Window( title,
<<MODAL></MODAL>
Edit: more context info:<BR />MacOS 13.3.1, 32 GB RAM
2.6 GHz 6-Core Intel Core i7
JMP 17
要補充一點,我從這裡的文檔中得到了這個: https://www.jmp.com/support/help/zh/15.2/index.shtml#page/jmp/construct-a-modal-window.shtml
除了提到的行為之外,當我在關閉模態之前單擊“繼續”按鈕時,我還會聽到錯誤提示音。
在 Windows 11 上運行,配備 I7-9700K 處理器和 32 GB RAM,我在單擊按鈕後關閉窗口時沒有遇到任何延遲。
如果其他人遇到此問題並遇到相同的問題:
我看見這個帖子在我帖子的“建議”部分,並決定嘗試一下。 具體我的代碼是:
invisibleOkButton = Button Box( "OK", <<VISIBILITY></VISIBILITY>
這導致了與標準“確定”按鈕相匹配的行為。
我不是 100% 確定這是按鈕按下和模態消失之間延遲的原因,但在這種情況下按下按鈕會啟動網絡請求,並且延遲似乎與該時間匹配(即按下按鈕 - >按鈕消失-> 網絡請求運行 -> 請求完成 -> 模式消失)。 所以這可以解釋為什麼延遲並不總是表現出來,因為如果它不是在等待網絡請求或類似的慢速,它會太快而無法查看。