如何在單獨的 js 文件中將按鈕單擊轉換為 mouseup 事件。我在一個 html 文件中有這個按鈕代碼(工作沒有問題):<button class="J_sheetControl" id="J_timingSubmit2">Submit</button>單擊它時,它會在外部 js 文件中運行一個函數(shù)(?):$("#J_timingSubmit2").click(function(ev){ var sheetStates = sheet.getSheetStates(); var rowsCount = 15; var colsCount = 7; var timesheetrowsdata = ""; var timesheetcoldata = ""; for(var row= 0, rowStates=[]; row<rowsCount; ++row){ rowStates = sheetStates[row]; timesheetrowsdata += rowStates+(row==rowsCount-1?'':','); } timesheetcoldata = timesheetrowsdata.replace(/,/g, ''); const testData = timesheetcoldata; const dataArr = testData.match(/.{1,7}/g) .map(s => Number(s[0])) // Only take the first char as a Number let dataSum = dataArr.reduce((a, b) => a + b); let isSameAsRowsCount = dataSum == rowsCount;});我想轉換它,以便它在單擊表標題時運行(在 mouseup 事件上)。這個函數(shù)在第二個js文件中(需要在if語句的末尾插入函數(shù)調用):thisSheet.delegate(".TimeSheet-colHead","mouseup.umsSheetEvent",function(ev){if(!operationArea.startCell){ return;}var curColHead = $(ev.currentTarget);const targetStateValue = localStorage.getItem('shiftstatus');if (targetStateValue === "earlyshift") { var endCell = [14,curColHead.data("col")]; var correctedCells = cellCompare(operationArea.startCell,endCell); afterSelecting(ev,correctedCells); //code needs to go here }我試圖重命名它,使它看起來更像一個標準函數(shù),例如 ColumnChecker() 但這只是給我錯誤,它不是上述 mouseup 事件的函數(shù)。我已經解決了這個問題,但它似乎不是最整潔的方法(我已經在應用程序中使用了兩次類似的方法)。如果沒有人有更好的解決方案,我將使用它作為答案。var but_Open3 = document.getElementById("J_timingSubmit2");J_timingSubmit2.click();
如何在單獨的 js 文件中將按鈕單擊轉換為 mouseup 事件
慕無忌1623718
2021-09-17 13:46:01