为了账号安全,请及时绑定邮箱和手机立即绑定

如何在单独的 js 文件中将按钮单击转换为 mouseup 事件

如何在单独的 js 文件中将按钮单击转换为 mouseup 事件

慕无忌1623718 2021-09-17 13:46:01
如何在单独的 js 文件中将按钮单击转换为 mouseup 事件。我在一个 html 文件中有这个按钮代码(工作没有问题):<button class="J_sheetControl" id="J_timingSubmit2">Submit</button>单击它时,它会在外部 js 文件中运行一个函数(?):$("#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 事件上)。这个函数在第二个js文件中(需要在if语句的末尾插入函数调用):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                               }我试图重命名它,使它看起来更像一个标准函数,例如 ColumnChecker() 但这只是给我错误,它不是上述 mouseup 事件的函数。我已经解决了这个问题,但它似乎不是最整洁的方法(我已经在应用程序中使用了两次类似的方法)。如果没有人有更好的解决方案,我将使用它作为答案。var but_Open3 = document.getElementById("J_timingSubmit2");J_timingSubmit2.click(); 
查看完整描述

2 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

使用 jQuery,您可以为 mouseup 事件添加另一个事件侦听器。


$("#J_timingSubmit2").mouseup( handler);

$("#J_timingSubmit2").on('mouseup', handler);


查看完整回答
反对 回复 2021-09-17
  • 2 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信