繁体   English   中英

jQuery阻止输入默认操作

[英]jQuery prevent input default action

我有一个ajax表单,我想阻止在提交时执行一个动作,并尝试了很多方法,没有任何作用。 我的第一种方法是:

 return false;

然后我尝试

event.preventDefault();

event是回调名称或任何你称之为的回调名称。

function(event) {
    event.preventDefault();
};

下面是我正在使用的HTML:

<form class="main_search" method="POST" action="ajaxsearch.php">
    <input type="text" class="editable" placeholder="Search">
</form>

继承人我设置的测试javascript:

$('.main_search').submit(function(event) {
    event.preventDefault(console.log(event)); //Log the event if captured
});

这两种方法都不起作用,但奇怪的是它们可以处理不同的东西,比如按钮,但它们不适用于这种形式。 我在这里错过了什么吗? 谢谢!

要处理您的特定问题(即插入动态生成的表单 ),请使用$.on() 您最好不要将$.on()document.body用作父观察器(基本上像$.live()一样$.on() ,因此以下内容将是适当的(考虑您的实际标记):

<div id="searches">
    <form class="main_search" method="POST" action="ajaxsearch.php">
        <input type="text" class="editable" placeholder="Search">
    </form>
</div>

var $main_search = $('.main_search'),
    $searches = $('#searches');

$searches.on('submit', '.main_search', function(event) {
    event.preventDefault();
    console.log(event); //Log the event if captured
});

setInterval(function(){
    $searches.append($main_search.clone());
}, 5000);

http://jsfiddle.net/5TVGn/2/

我设置了一个JSfiddle:

http://jsfiddle.net/XM679/

如果您忘了将其包装到$(document).ready(function() {}吗?如果这不能解决问题:由于小提琴正在工作-我们需要您的上下文来提供更多帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM