2015-12-08 26 views
6

Tôi có hàng trong bảng chỉ định sự kiện onclick như sau.Tắt Sự kiện khi nhấp chuột

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

Và có nhiều dữ liệu bảng trong hàng của bảng và cũng có nhiều hàng.

Ở đây yêu cầu của tôi là tắt sự kiện onclick này chỉ trên một dữ liệu bảng nhưng giữ cho nó hoạt động cho toàn bộ hàng.

Có bất kỳ sự kiện nào để tắt sự kiện onclick chỉ với một dữ liệu bảng hay không.

Sửa

Bảng hiển thị dưới đây.

<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> 

Và sự kiện onclick cần phải vô hiệu hóa trên đầu <td> mà là một hộp kiểm.

+0

Su có, nhưng như bạn đã bỏ ra chỉ là về tất cả các HTML, chúng tôi không biết những gì các lớp học, id hoặc các thuộc tính khác hàng này có? – adeneo

+0

@adeneo: Đã thêm mẫu bảng. –

Trả lời

6

Bạn có thể gán một lớp học có quy tắc sau:

.off { pointer-events: none; }

đến bất kỳ yếu tố làm cho nó nhấp vào được.

Sử dụng một lớp học để cho phép kích khi mong muốn:

.on { pointer-events: auto; }

Đoạn chứng tỏ điều này bằng cách nhập số 1-4 sau đó tắt hoặc trên

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>

2

Bạn có thể sử dụng onclick="return false" để tắt các nhấp chuột và oncontextmenu="return false" để vô hiệu hóa nhấp chuột phải.

Ví dụ:

<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> 
Các vấn đề liên quan