您能否告诉我为什么在按钮点击事件发生之前我无法控制div
上的活动?
基本上我需要的是div
点击后button
只发生一个事件
我试图用布尔clickEvtHandler
控制它,但它没有通过
var clickEvtHandler = false;
var i = 1;
$("button").on("click", function() {
clickEvtHandler = true;
if (clickEvtHandler) {
$("div").on("click", function() {
$(this).append(i++);
clickEvtHandler = false;
});
}
});
div {
height: 300px;
width: 300px;
background: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>
Enable Event On Div
</button>
<div></div>
答案 0 :(得分:4)
如果您只想使用一次事件,请转到
$( "#div" ).one( "click", function() {
alert( "This will be displayed only once." );
});
以上代码将确保绑定到给定div的事件将执行一次。
答案 1 :(得分:0)
也许使用两个单独的处理程序:
>>> def printHello(greetings):
... inside_func=2
...
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'printHello',]
>>> dir(printHello)
['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '__format__', '__get__', '__getattribute__', '__globals__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name']
答案 2 :(得分:0)
var clickEvtHandler = false;
var i = 1;
$("button").on("click", function() {
clickEvtHandler = true;
if (clickEvtHandler) {
$("div").on("click", function() {
if (clickEvtHandler)
$(this).append(i++);
clickEvtHandler = false;
});
}
});