我正在尝试将onmouseover='someFunction()'
个事件添加到我的每个<option>
代码中。仅当<select>
size
属性大于1时,事件才能正常工作。如果未设置size
,则select将作为下拉列表,不会触发任何事件。我希望它可以作为下拉列表和触发事件。有可能吗?
代码:
<select size="3" data-bind="
options: myItems,
optionsText: 'name',
optionsValue: 'id',
optionsAfterRender: setOptionDisable">
<select>
// JAVASCRIPT:
var vm = function() {
var self = this;
self.myItems = [
{ name: 'Item 1', id: 1},
{ name: 'Item 3', id: 3},
{ name: 'Item 4', id: 4}
];
self.setOptionDisable = function(option, item) {
ko.applyBindingsToNode(option, {attr: { onmouseover: 'test()'}}, item);
};
self.test = function(){
console.log("mouse is over");
};
};
ko.applyBindings(vm);
jsFiddle:http://jsfiddle.net/3kCkn/20/
更新 刚才注意到它在firefox上运行正常,但在chrome和opera 24(webkit?)中没有。