我的MVC应用程序中有一个网页。像这样
<html>
<head>
</head>
<body>
<div id="1st_section"> Contents................... so on</div>
<div id="2th_section">Contents................... so on</div>
<div id="3th_section">Contents................... so on</div>
<div id="4th_section">Contents................... so on</div>
</body>
</html>
在浏览器中渲染此页面时,我们需要执行鼠标单击启用
<div id="1st_section"> Contents................... so on</div>
仅限此部分。除此部分外,应在整个网页中禁用鼠标单击事件。
请您建议可行的方法吗?
答案 0 :(得分:3)
如果您有来自其他地方的点击处理程序,则可以unbind使用*
- 通用选择器:
$(function(){
$('*').unbind('click');
$('body > div#1st_section').bind('click', function(){
//bind event listener goes here
});
});
答案 1 :(得分:2)
使用jquery click()
和attribute selector
试试这个
$(document).ready(function(){
$("div[id$='_section']").click(function(){
alert('clicked');
});
});
$("div[id$='_section']")
选择所有div,其值完全以_section
结尾。
<强>更新强>
更新后的问题..如果你只需要一个,那么使用id选择器
$(function(){
$("#1st_section").click(function() {
alert('clicked');
})
});
答案 2 :(得分:2)
您可以将处理程序附加到整个身体,但在单击所需元素时执行操作。
var handler = function(event){
if($(event.target).is("#1st_section"))
// do something
else
return false;
}
$(document).on("click", handler);
答案 3 :(得分:0)
由于id是唯一的,为什么不:
$("#1st_section").click(function() {
// Your code here for 1st_section, the other sections and elements will not be affected
});
答案 4 :(得分:0)
是的,你可以这样做。
使用“pointer-events:none”以及IE的CSS条件语句,您可以获得针对此问题的跨浏览器兼容解决方案。
使用AlphaImageLoader,你甚至可以在overlay div中放置透明的PNG / GIF,并让点击流到下面的元素。
pointer-events:none;
background:url('your_transparent.png');
答案 5 :(得分:0)
您可以使用.off() and .on()
处理程序来绑定事件,使用通用选择器*
来禁用点击:
试试这个:
$('*').off('click'); //<-----take out the click from every item on the page
$('#1st_section').on('click', function () { //<-binding the click to specific div
alert('clicked');
});
答案 6 :(得分:-1)
你只想点击它,它也有Id
<div id="1st_section"> Contents................... so on</div>
所以你可以通过#dreg选择它来选择它。并且您可以在jquery中使用以下代码来生成click事件
$(document).ready(function(){
$("#1st_section").click(function(){
// here you code which you want to execute on click event
});
});
如果你想删除事件处理程序,可以使用jquery的off()
已编辑:
所以你可以尝试这样的东西来删除文档中的所有点击事件,并在该div上添加点击事件
$(function () {
$('*').off('click');
$('#1st_section').on('click', function () {
alert('HI');
});
});