相关疑难解决方法(0)

当间接更改复选框时,为什么复选框上的onchange未触发

我正在使用Prototype监视复选框,因此我可以向它们添加javascript检查.单击复选框所在的tr或td时,应选中该复选框.
当您直接单击复选框时,会触发onchange事件,因此您将收到警报.当javascript更改复选框'的值时(单击tr或td时),不会触发onchange.为什么在间接更改复选框时不会触发onchange?

这是我正在使用的JavaScript.

Element.observe(window, 'load', function() {
        /* If a tr or td is clicked, change the value of the checkbox. */
        $$('#results tr').each(function(el) { 
            el.observe('click', function(e) {
                if(!e.target) { e.target = e.srcElement; }
                if(e.target.nodeName == 'TD' || e.target.nodeName == 'TR') {
                    $('compare-product'+this.id).checked = ($('compare-product'+this.id).checked === false) ? true : false;
                }
            });
        });
        /* Monitor if the status of a checkbox has changed. */
        $$('#results tr td input').each(function(el) {
                el.observe('change', function(e) {
                        alert('!');
                    }
                );
            }
        );
    }
); …
Run Code Online (Sandbox Code Playgroud)

javascript checkbox prototype onchange

5
推荐指数
1
解决办法
4745
查看次数

标签 统计

checkbox ×1

javascript ×1

onchange ×1

prototype ×1