以下是一个简单示例:http://codepen.io/spacejaguar/pen/KrvqNW
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
});
});
似乎根本没有调用 form:init 或 field:init 回调函数,而其他任何函数都可以正常工作。我做错了什么?或者它可能是一个错误?
[编辑]
我查看了源代码并做了一些调试工作,似乎在连接任何侦听器之前触发了init事件。创建欧芹实例看起来很相似:
答案 0 :(得分:2)
我遇到了同样的问题,感谢您对事件触发的研究,我找到了解决方案。只需将事件处理程序绑定到window.Parsley
对象,它就可以正常工作。
例如:
window.Parsley.on('form:init', () => console.log('form:init'))