我在Javascript文件中有以下代码。当在此表单上发生单击时,我希望执行postAction
函数。现在虽然我看到postAction
中的代码行被处理(通过Web开发人员),但出于某种原因,postAction
函数似乎确实已成功执行。我怀疑它必须对preventDefault
或return false
执行某些操作。查看以下代码的任何问题?
ssoWelcome: (function () {
var $p = $('<form class="full controls"><p>Welcome <span class="username"></span>!</p><input type="submit" value="Continue" name="welcome" class="welcomeBtn"></form>');
$p.submit(function (e) {
C.options.postAction('redirect');
preventDefault(e);
return false;
});
return $p;
}())
答案 0 :(得分:0)
我认为你是对的,因为它与preventDefault
有关。这条线
preventDefault(e);
应该是
e.preventDefault();
但是,假设这是jQuery,return false
与e.preventDefault()
做同样的事情,所以你不需要自己调用它。
答案 1 :(得分:0)
首先,你不应该这样做:
e.preventDefault();
也许这会有所帮助。
答案 2 :(得分:0)
这可以简单地在文档中获取附加表单并执行这样的实时函数:
var $p = $('<form class="full controls"><p>Welcome <span class="username"></span>!</p><input type="submit" value="Continue" name="welcome" class="welcomeBtn"></form>');
$(document).append($p);
$('.welcomeBtn').live('click', (function (e) {
//do your function here
return false;
});