我在gif
使用IE
图像时遇到了困难,然后我发现了spinner js这使得我的生活在这方面变得更加轻松。但是我有一个问题。我正在使用Ajax
调用重新加载包含数据的表格。每行都动态添加<button>
hodling Id
和onclick
事件:
<button value= row[0] onClick="showDetailedInfo(this);return false;">Details</button>
问题是,除非我从showDetailedInfo(this)
函数调用它,否则微调器工作正常。然后我根本没有得到微调器,实际执行需要时间,因为我在发回细节之前做了很多服务器端工作(再次使用Ajax)。由于我在很多地方使用微调器,除了调用微调器的函数处理动态添加元素上的事件这一事实之外,我无法想到任何其他原因(但函数本身与其他javascript一起加载。)
对于那些不熟悉spinner js
的人,我这样称呼它:
var opts = {
lines: 13, // The number of lines to draw
length: 20, // The length of each line
... more options
}
var target = document.getElementById('foo');
var spinner = new Spinner(opts).spin(target);
然而,当我在寻找可能的解决方案时,我读到初始化这样的选项可能会导致这个问题我切换到jQuery
插件,现在我就像这样调用微调器:
$('#foo').spin()
但行为没有变化。仍然不确定opts
部分是否没有出现问题。现在我没有使用自定义选项,我让微调器使用它的默认选项,所以我认为这应该不是问题,但无论如何。想法为什么会这样,以及如何让我的微调器工作?
答案 0 :(得分:1)
您的代码已过时。您可以通过jquery单独的文件来处理实时事件,以及用于访问添加的元素&#34;在运行中#34;你必须使用$(document).on('click', 'button')
;
您的代码应该像
jQuery(document).ready(function($){
$(document).on('click', 'button', function( e ){
e.preventDefault();
showDetailedInfo( this );
});
});
可能需要一些小修改(它会查找页面内的所有button
,并且我不知道showDetailedInfo
究竟是什么)