javascript – 检测html选择框上的程序更改
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 检测html选择框上的程序更改,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1927字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 检测html选择框上的程序更改](/upload/InfoBanner/zyjiaocheng/823/0948669c791e4497bb8fdb28cdba3218.jpg)
有没有办法让HTML select元素每次以编程方式更改其选择时调用一个函数?
当使用javascript修改选择框中的当前选择时,IE和FF都不会触发’onchange’.此外,js函数改变了选择是框架的一部分,所以我无法改变它以触发onchange(),例如.
这是一个例子:
<body>
<p>
<select id="sel1" onchange="myfunction();"><option value="v1">n1</option></select>
<input type="button" onclick="test();" value="Add an option and select it." />
</p>
<script type="text/javascript">
var inc = 1;
var sel = document.getElementById('sel1');
function test() {
inc++;
var o = new Option('n'+inc, inc);
sel.options[sel.options.length] = o;
o.selected = true;
sel.selectedIndex = sel.options.length - 1;
}
function myfunction() {
document.title += '[CHANGED]';
}
</script>
</body>
有没有办法让test()调用myfunction()而不更改test()(或在按钮上添加事件)?
谢谢.
解决方法:
如果您可以扩展/修改框架以在更改选择选项时提供钩子/回调,那么它会更好(一种方法是使用js的动态功能来将其输入?).
如果做不到这一点,就会出现效率低下的问题 – 民意调查.您可以设置一个setTimeout / setInteval调用来轮询所需的select选项dom元素,并在检测到某些内容发生更改时触发您自己的回调.
至于你的问题的答案
Is there any way to make test() call
myfunction() without changing test()
(or adding an event on the button)?
是的,通过使用jquery AOP http://plugins.jquery.com/project/AOP,它提供了一个简单的解决方案.
<body>
<p>
<select id="sel1" onchange="myfunction();"><option value="v1">n1</option></select>
<input type="button" onclick="test();" value="Add an option and select it." />
</p>
<script type="text/javascript">
var inc = 1;
var sel = document.getElementById('sel1');
function test() {
inc++;
var o = new Option('n'+inc, inc);
sel.options[sel.options.length] = o;
o.selected = true;
sel.selectedIndex = sel.options.length - 1;
}
function myfunction() {
document.title += '[CHANGED]';
}
//change to aop.after if you want to call afterwards
jQuery.aop.before( {target: window, method: 'test'},
function() {
myfunctino();
}
);
</script>
</body>
内容总结
以上是互联网集市为您收集整理的javascript – 检测html选择框上的程序更改全部内容,希望文章能够帮你解决javascript – 检测html选择框上的程序更改所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。