在这里工作是一个简单的例子:http://codepen.io/spacejaguar/pen/KrvqNW形式init和领域的init事件不会在parsley.js
HTML:
<form data-parsley-validate>
<label for="name">Name:</label>
<input type="text" name="name" required>
<br>
<input type="submit" value="validate">
<p><small>This is a simplistic example, good to start from when giving examples of use of Parsley</small></p>
</form>
和JS
$(function() {
$('form').parsley()
.on('form:init', function() {
console.log('Form init', arguments);
})
.on('field:init', function() {
console.log('Field init', arguments);
})
.on('form:validate', function() {
console.log('Form validate', arguments);
})
.on('form:submit', function() {
return false; // Don't submit form for this demo
});
});
似乎形式: init或字段:init回调函数完全不会被调用,而其他任何函数都可以正常工作。我做错了什么?或者,也许这是一个错误?我编译了源代码并做了一些调试工作,似乎init事件在任何监听器被连接之前触发。创建香菜实例看起来相似:
- $ .fn.parsley被称为
- 创建新ParsleyFactory,调用init FN
--- ParsleyFactory.prototype.init只会验证的配置等,并调用bind FN
---- ParsleyFactory.prototype.bind决定创建(ParsleyForm,ParsleyField或ParsleyMultiple),其构造
-----新ParsleyForm被调用,并返回实例
---- ParsleyFactory.prototype.bind 触发的init事件并返回实例
--- ParsleyFactory.prototype.init返回实例
- ParsleyFactory构造函数返回的实例 - $ .fn.parsley返回实例
- 。对( '字段:初始化',函数(){... })正在绑定
有趣。所以'$ .Parsley.on('form:init')'会起作用,但这是捕捉事件的唯一方法。在初始化之后触发事件(比如使用'setTimeout')确实可能是最好的。感觉像写一个公关? –
恐怕我不能在不久的将来这样做,但我会稍后再试一试。 – RamboBambo