在我看来(生成ajax):
<a data-name="notes" href="#" data-type="text" data-pk="{!! $v->id !!}" class="vpUpdate">{{ $v->notes}}</a>
在我的jQuery上:
$(document).on('click', '.vpUpdate', function (e) {
$.fn.editable.defaults.mode = 'popup';
$('.vpUpdate').editable({
type: 'text',
url:'edit-notes',
title: 'Edit Notes',
placement: 'top',
send:'always',
ajaxOptions: {
dataType: 'json'
}
});
});
现在这可以解决所有问题,但只有当我点击它两次然后jQuery触发。
我之前没有使用过这个问题:
$(document).ready(function(){
但是,如果内容是ajax生成,则此方法将不起作用。
另外,假设我在页面上有多个链接使用相同的.vpUpdate类作为触发器,如果我双击其中任何一个,任何未来的点击只需要一次点击就可以了。如果我刷新页面,整个循环再次发生。
现在我只是想知道如何在第一次点击时立即触发jQuery而不是双击。
感谢。
答案 0 :(得分:0)
你必须在$(document).ready函数或$(window).load函数中包含eventhandler的赋值。在文档对象实际存在之前,您将click事件附加到文档对象。
$(document).ready(function(){
$(document).on('click', '.vpUpdate', function (e) {
$.fn.editable.defaults.mode = 'popup';
$('.vpUpdate').editable({
type: 'text',
url:'edit-notes',
title: 'Edit Notes',
placement: 'top',
send:'always',
ajaxOptions: {
dataType: 'json'
}
});
});
});