相关疑难解决方法(0)

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万
查看次数

Jquery:按Enter键如何触发click事件

我需要在按下回车键时执行按钮点击事件.

因为目前事件没有解雇.

如果可能的话,请帮我解释一下语法.

$(document).on("click", "input[name='butAssignProd']", function () {
   //all the action
});
Run Code Online (Sandbox Code Playgroud)

这是我尝试在输入时触发click事件.

$("#txtSearchProdAssign").keydown(function (e) {
  if (e.keyCode == 13) {
    $('input[name = butAssignProd]').click();
  }
});
Run Code Online (Sandbox Code Playgroud)

jquery key-events

149
推荐指数
6
解决办法
32万
查看次数

触发"click"和"enter"上的事件

我的网站上有一个搜索框.目前,用户必须单击该框旁边的提交按钮才能通过jquery的帖子进行搜索.我想让用户也按Enter进行搜索.我怎样才能做到这一点?

JQUERY:

$('document').ready(function(){
    $('#searchButton').click(function(){
        var search = $('#usersSearch').val();
        $.post('../searchusers.php',{search: search},function(response){
            $('#userSearchResultsTable').html(response);
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<input type='text' id='usersSearch'  /><input type='button' id='searchButton' value='search' />
Run Code Online (Sandbox Code Playgroud)

jquery jquery-selectors

70
推荐指数
3
解决办法
12万
查看次数

在输入数据输入字段时提交延迟表单

我有一个简单的表单,我需要在输入文本时自动提交.

我可以使用onChange或onKeyUp而没有最好的结果.

HTML是:

  <form action="" id="fusionSearchForm" method="post">
    <input type="text" class="std_input" id="fusion_searchText" />
  </form>
Run Code Online (Sandbox Code Playgroud)

和jQuery

jQuery("#fusionSearchForm").keyup(function() {
  this.submit();
});
Run Code Online (Sandbox Code Playgroud)

每次输入一个字符时都会提交.我更愿意这样做 - 在提交之前有一个延迟,所以你可以完成你的输入 - 焦点保持在输入字段准备好提交后输入(如果重新加载)

任何延迟form.submit()的方法,以便用户可以在提交表单之前完成输入?

(更新代码以更"jQuery"的方式提交)

BR.安德斯

forms jquery input submit

10
推荐指数
2
解决办法
9017
查看次数

输入密钥以提交Ajax表单

我有一个非常简单的AJAX表单,要求提供一个电子邮件地址,并在提交后发送给我.

如何在按下回车键时提交表单?

这在用户单击提交按钮时运行:

<script type="text/javascript">
    $(document).ready(function () {
        $("#submit_btn").click(function () {
            // Get input field values:
            var user_email = $('input[name=email]').val();

            // Simple validation at client's end
            // We simply change border color to red if empty field using .css()
            var proceed = true;
            if (user_email === "") {
                $('input[name=email]').css('border-color', 'red');
                proceed = false;
            }

            // Everything looks good! Proceed...
            if (proceed) {
                /* Submit form via AJAX using jQuery. */
            }
        });

        // Reset previously set border colors and hide …
Run Code Online (Sandbox Code Playgroud)

javascript php forms ajax jquery

8
推荐指数
1
解决办法
2万
查看次数

输入关键触发链接

我在页面上有一个JQuery滚动条,其中每个项目都是带有id的div.每个div都有一个指向滚动条中下一个div的链接(全部在同一页面上)

$('a.panel').click(function () {
};
Run Code Online (Sandbox Code Playgroud)

我在"面板"类的所有链接上都有一个点击事件,我在其中检查了哪些链接被点击,然后相应地执行一些ajax处理:

 if($(this).attr('href')=="#item2")
{
//do some processsing 
}
Run Code Online (Sandbox Code Playgroud)

一旦处理完成,我使用scrollTo JQuery方法滚动到下一个div

我需要让用户可以按回车键而不是点击链接.现在问题是:a.我在同一页面上有几个链接,都需要有这种行为.湾 我需要区分哪个链接触发了click事件并进行了一些服务器端处理.

这有可能吗?

我很感激快速而有用的回复!感谢一百万的帮助!

javascript jquery scroll hyperlink

5
推荐指数
3
解决办法
1万
查看次数

提交HTML表单,没有提交按钮

我有一个这样的表格:

<html> 
    <body> 
        <form onSubmit="alert('Just got submitted');">
            <p>
            Hello: <input class="field" type="text"/><br/>
            Goodbye: <input class="field" type="text"/><br/>
            </p>
        </form>
    </body> 
</html> 
Run Code Online (Sandbox Code Playgroud)

在一个浏览器中快速提交用户按下来自其中一个字段的输入,而在另一个浏览器中则没有.奇怪的是,如果我删除第二个字段,它可以同时工作.

我的问题是 - 是否可以使用没有明确提交元素的表单?我真的很喜欢这种行为.

html xhtml standards

3
推荐指数
1
解决办法
5965
查看次数

Jquery:如何在按Enter键或单击按钮时触发click事件

我有一个触发jquery事件的按钮,但只有在单击按钮时才会触发.如果单击它或使用返回键,是否可以使其工作?

$(document).ready(function () {
    var zipCodes = [60538, 60504];
    $("#buttontest").click(function () {
        var zipIndex = zipCodes.indexOf(parseInt($("#full_day").val()));
        $("#zipMessage > div").hide("fast");
        var zipId = zipIndex > -1 ? zipCodes[zipIndex] : "Error";
        $("#zip" + zipId).show("fast");
    });
});
Run Code Online (Sandbox Code Playgroud)

这是一个有效的例子; http://jsfiddle.net/7SPGh

javascript jquery

1
推荐指数
1
解决办法
1万
查看次数

"输入"Keypress提交表单在IE 9/10中不起作用

$(function(){
    $('.inviteClass').keypress(function() {
        if(event.keyCode=='13') {
            doPost();
        }
});
Run Code Online (Sandbox Code Playgroud)

在这里,我有一个小要求.按键盘输入提交表单,它在FireFox和Chrome以及IE 7和8中运行正常,但它在IE9和IE 10中不起作用.

请帮我.

javascript jquery

0
推荐指数
1
解决办法
9111
查看次数