簡體   English   中英

禁用點擊事件

[英]Disabling the On-click Event

我有一個表行,它指定一個onclick事件,如下所示。

onclick="dispStudRequest('<%=u_studentRequestID%>','<%=rollno%>')"

並且表行中有許多表數據,並且還有多行。

這里我的要求是僅對一個表數據禁用此onclick事件,但對整個行保持活動狀態。

是否有任何禁用只有一個表數據的onclick事件。

編輯

表格如下所示。

<html>
<head>

<script>
function dispStudRequest(val, val1)
{
    document.location.href="/student/Studentdetails.jsp?u_StudentID="+val+"&u_rollnoNumber="+val1;
}
</script>
</head>
<body>

<table>
<tr onclick="dispStudRequest('<%=u_studentRequestID%>','<%=rollno%>')">
    <td><input type="checkbox" name="checkBoxVer" value="<%=seqno%>" onClick="return checkClick(this);" CHECKED></td>
    <td><img style="width="15" height="15"; <%=iSrc%>></td>
    <td>Student1</td>

</tr>
<tr onclick="dispStudRequest('<%=u_studentRequestID%>','<%=rollno%>')">
    <td><input type="checkbox" name="checkBoxVer" value="<%=seqno%>" onClick="return checkClick(this);" CHECKED></td>
    <td><img style="width="15" height="15"; <%=iSrc%>></td>
    <td>Student2</td>

</tr>
</table>
</body>
</html>

並且需要在第一個<td>上禁用onclick事件,這是一個復選框

您可以指定具有以下規則的類:

.off { pointer-events: none; }

任何使其無法點擊的元素。

使用類在需要時啟用單擊:

.on { pointer-events: auto; }

該片段通過輸入數字1到4然后關閉或打開 演示此信息

 function toggleTD(pos, state) { var anchors = document.querySelectorAll('a'); var tgt = anchors[pos - 1]; if (state === 'on') { tgt.classList.remove('off'); tgt.classList.add('on'); } else { tgt.classList.add('off'); tgt.classList.remove('on'); } return false; } var btn = document.getElementById('btn'); btn.addEventListener('click', function(event) { event.preventDefault(); var inp1 = document.getElementById('inp1').value; var inp2 = document.getElementById('inp2').value; return toggleTD(inp1, inp2); }, false); 
 body { width: 100vw; height: 100vh; } table { border: 1px solid #000; width: 80%; height: 50%; } td { border: 1px solid red; } a { width: 100%; height: 100%; font-size: 1em; text-align: center; padding-top: calc(50% - .5em); display: block; } .on { pointer-events: auto; background-color: green; } .off { pointer-events: none; background-color: red; } input { width: 2em; margin-top: 5px; padding: 0 3px; text-align: center; } 
 <table> <tr> <td><a href="/">CLICK</a> </td> <td><a href="/">CLICK</a> </td> <td><a href="/">CLICK</a> </td> <td><a href="/">CLICK</a> </td> </tr> </table> <label>Position</label> <input id="inp1"> <label>On/Off</label> <input id="inp2"> <button id="btn">ToggleTD</button> 

您可以使用onclick="return false"來禁用點擊次數,使用oncontextmenu="return false"來禁用右鍵點擊。

例如。

<table onclick="return false" oncontextmenu="return false">
  <tr onclick="dispStudRequest('<%=u_studentRequestID%>','<%=rollno%>')">
    <td><input type="checkbox" name="checkBoxVer" value="<%=seqno%>" onClick="return checkClick(this);" CHECKED></td>
    <td><img style="width="15" height="15"; <%=iSrc%>></td>
    <td>Student1</td>
  </tr>
  <tr onclick="dispStudRequest('<%=u_studentRequestID%>','<%=rollno%>')">
    <td><input type="checkbox" name="checkBoxVer" value="<%=seqno%>" onClick="return checkClick(this);" CHECKED></td>
    <td><img style="width="15" height="15"; <%=iSrc%>></td>
    <td>Student2</td>
  </tr>
</table>

暫無
暫無

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

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