标签: event-handling

event.preventDefault()与return false

当我想在某个事件被触发后阻止其他事件处理程序执行时,我可以使用两种技术之一.我将在示例中使用jQuery,但这也适用于plain-JS:

1. event.preventDefault()

$('a').click(function (e) {
    // custom handling here
    e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

2. return false

$('a').click(function () {
    // custom handling here
    return false;
});
Run Code Online (Sandbox Code Playgroud)

这两种停止事件传播的方法之间有什么显着差异吗?

对我来说,return false;比执行方法更简单,更短并且可能更不容易出错.使用该方法,您必须记住正确的套管,括号等.

另外,我必须在回调中定义第一个参数才能调用该方法.也许,有一些原因可以解释为什么我应该避免这样做并使用preventDefault呢?有什么更好的方法?

javascript jquery event-handling event-propagation dom-events

2891
推荐指数
9
解决办法
81万
查看次数

如何使用Firebug或类似工具调试JavaScript/jQuery事件绑定?

我需要调试一个使用jQuery的Web应用程序来做一些相当复杂和混乱的DOM操作.有一次,某些与特定元素绑定的事件不会被触发,只是停止工作.

如果我有能力编辑应用程序源代码,我会向下钻取并添加一堆Firebug console.log()语句并注释/取消注释代码片段以尝试查明问题.但我们假设我无法编辑应用程序代码,需要使用Firebug或类似工具完全在Firefox中工作.

Firebug非常善于让我导航和操纵DOM.但到目前为止,我还没有弄清楚如何使用Firebug进行事件调试.具体来说,我只想查看在给定时间绑定到特定元素的事件处理程序列表(使用Firebug JavaScript断点来跟踪更改).但是Firebug没有能力看到绑定事件,或者我太笨了而无法找到它.:-)

任何建议或想法?理想情况下,我只想查看和编辑绑定到元素的事件,类似于今天我可以编辑DOM的方式.

javascript jquery firebug event-handling javascript-events

606
推荐指数
10
解决办法
24万
查看次数

jQuery复选框选中状态更改事件

当选中/取消选中复选框时,我希望事件触发客户端:

$('.checkbox').click(function() {
  if ($(this).is(':checked')) {
    // Do stuff
  }
});
Run Code Online (Sandbox Code Playgroud)

基本上我希望它发生在页面上的每个复选框上.这种方法是点击并检查状态好吗?

我认为必须有一个更清晰的jQuery方式.有人知道解决方案吗?

javascript jquery event-handling

600
推荐指数
8
解决办法
87万
查看次数

UITextField文本更改事件

如何检测textField中的任何文本更改?委托方法shouldChangeCharactersInRange适用于某些事情,但它并不能完全满足我的需要.由于它返回YES,因此textField文本不可用于其他观察者方法.

例如,在我的代码calculateAndUpdateTextFields中没有获得更新的文本,用户已键入.

他们是否有办法获得类似textChangedJava事件处理程序的东西.

- (BOOL)textField:(UITextField *)textField 
            shouldChangeCharactersInRange:(NSRange)range 
            replacementString:(NSString *)string 
{
    if (textField.tag == kTextFieldTagSubtotal 
        || textField.tag == kTextFieldTagSubtotalDecimal
        || textField.tag == kTextFieldTagShipping
        || textField.tag == kTextFieldTagShippingDecimal) 
    {
        [self calculateAndUpdateTextFields];

    }

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

objective-c event-handling ios uitextfielddelegate swift

546
推荐指数
14
解决办法
33万
查看次数

jQuery复选框更改并单击事件

我有

$(document).ready(function() {
  //set initial state.
  $('#textbox1').val($(this).is(':checked'));

  $('#checkbox1').change(function() {
    $('#textbox1').val($(this).is(':checked'));
  });

  $('#checkbox1').click(function() {
    if (!$(this).is(':checked')) {
      return confirm("Are you sure?");
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" id="checkbox1"/><br />
<input type="text" id="textbox1"/>
Run Code Online (Sandbox Code Playgroud)

JSFIDDLE链接

此处更改的事件使用复选框状态更新文本框值.我使用click事件确认取消选中时的操作.如果用户选择取消,则复选标记将恢复,但更改甚至会在确认之前触发,使事物处于不一致状态(选中复选框时文本框显示为false).如何处理取消并保持文本框值与检查状态一致?

javascript jquery event-handling

528
推荐指数
14
解决办法
132万
查看次数

如何手动触发onchange事件?

我正在通过日历小部件设置日期时间文本字段值.显然,日历小部件的功能如下:

document.getElementById('datetimetext').value = date_value;
Run Code Online (Sandbox Code Playgroud)

我想要的是:在更改日期时间文本字段中的值时,我需要重置页面中的其他一些字段.我已经在datetimetext字段中添加了一个onchange事件监听器,该字段没有被触发,因为我猜想onchange只有当元素获得焦点并且在失去焦点时其值被更改时才会触发.

因此,我正在寻找一种手动触发此onchange事件的方法(我想应该注意检查文本字段中的值差异).

有任何想法吗 ?

javascript event-handling javascript-events

372
推荐指数
3
解决办法
45万
查看次数

为什么在匿名类中只能访问最终变量?

  1. a只能在这里决赛.为什么?如何aonClick()不将其保留为私有成员的情况下重新分配方法?

    private void f(Button b, final int a){
        b.addClickHandler(new ClickHandler() {
    
            @Override
            public void onClick(ClickEvent event) {
                int b = a*5;
    
            }
        });
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如何5 * a点击它返回?我的意思是,

    private void f(Button b, final int a){
        b.addClickHandler(new ClickHandler() {
    
            @Override
            public void onClick(ClickEvent event) {
                 int b = a*5;
                 return b; // but return type is void 
            }
        });
    }
    
    Run Code Online (Sandbox Code Playgroud)

java event-handling anonymous-class

341
推荐指数
7
解决办法
11万
查看次数

了解C#中的事件和事件处理程序

我理解事件的目的,特别是在创建用户界面的环境中.我认为这是创建活动的原型:

public void EventName(object sender, EventArgs e);
Run Code Online (Sandbox Code Playgroud)

事件处理程序做了什么,为什么需要它们,以及如何创建一个?

.net c# events event-handling

310
推荐指数
6
解决办法
35万
查看次数

e.target和e.currentTarget之间的区别

我不明白它们的区别,它们看起来都是一样的,但我猜它们不是.

任何何时使用其中一个或另一个的例子都将受到赞赏.

events event-handling actionscript-3

263
推荐指数
7
解决办法
10万
查看次数

jQuery - 检测隐藏输入字段的值更改

我有一个隐藏的文本字段,其值通过AJAX响应更新.

<input type="hidden" value="" name="userid" id="useid" />
Run Code Online (Sandbox Code Playgroud)

当这个值改变时,我想发出一个AJAX请求.任何人都可以建议如何检测变化?

我有以下代码,但不知道如何查找值:

$('#userid').change( function() {  
    alert('Change!'); 
}) 
Run Code Online (Sandbox Code Playgroud)

jquery hidden field onchange event-handling

253
推荐指数
5
解决办法
25万
查看次数