是否可以在同一个元素上创建一个 onClick 处理程序但有两个其他调用?
我是说:
当我单击按钮TRUE
时会出现警报,当我再次单击它时,FALSE
应该会出现文本警报,但是当我再次单击它时,它的行为应该与第一次单击时相同,所以它应该显示警报说TRUE
, 再一次。
这可能(如果是的话 - 如何)用 jQuery 做吗?
是否可以在同一个元素上创建一个 onClick 处理程序但有两个其他调用?
我是说:
当我单击按钮TRUE
时会出现警报,当我再次单击它时,FALSE
应该会出现文本警报,但是当我再次单击它时,它的行为应该与第一次单击时相同,所以它应该显示警报说TRUE
, 再一次。
这可能(如果是的话 - 如何)用 jQuery 做吗?
你所描述的是一个经典的切换。
你的 JavaScript 看起来像这样:
var toggle = false;
$(document).ready(function(){
$("#clickme").click(function(){
toggle = !toggle;
alert(toggle);
});
});
我在此链接上准备了一个有效的 JSFIDDLE 示例: 示例
var flag = true;
$('#button').on('click', function() {
if( flag ) {
alert('TRUE');
} else {
alert('FLASE');
}
flag = !flag;
});
将所有 jQuery 代码包装在$(document).ready()
函数中。
你可以试试这个方法
$(function() {
var i =0;
$('#btn1').on('click' , function() {
if( i%2 == 0){
alert(' TRUE !!');
}
else{
alert(' FALSE !!');
}
i++;
});
});
工作小提琴
这是使用 div 的一种方法
<button id="clicker">Click Me</button>
<div id="true" style="display: none;">True!</div>
<div id="false" style="display: none;" class="firstTime">False!</div>
准备好内部文件:
$("#clicker").click(function(){
if ($("#false").hasClass("firstTime")){
$("#false").removeClass("firstTime");
$("#true").show();
} else {
$("#true").toggle();
$("#false").toggle();
}
});
找到了这个:
$('#my-element').toggle(function(){
alert("true");
}, function(){
alert("false");
});