Javascript HTML5选择';s选项';事件不';不要在'内开火;下拉菜单';模式
我正在尝试将Javascript HTML5选择';s选项';事件不';不要在'内开火;下拉菜单';模式,javascript,events,select,knockout.js,option,Javascript,Events,Select,Knockout.js,Option,我正在尝试将onmouseover='someFunction()'事件添加到我的每个标记中。只有当size属性大于1时,事件才能正常工作。当设置了nosize时,选择作为下拉列表,不触发任何事件。我希望它可以作为下拉菜单和触发事件使用。可能吗 守则: <select size="3" data-bind=" options: myItems, optionsText: 'name', optionsValue: 'id', optionsAfterRender: setOptionDis
onmouseover='someFunction()'
事件添加到我的每个
标记中。只有当
size
属性大于1时,事件才能正常工作。当设置了nosize
时,选择作为下拉列表,不触发任何事件。我希望它可以作为下拉菜单和触发事件使用。可能吗
守则:
<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);
//JAVASCRIPT:
var vm=函数(){
var self=这个;
self.myItems=[
{name:'Item 1',id:1},
{name:'Item 3',id:3},
{name:'Item 4',id:4}
];
self.setOptionDisable=功能(选项,项){
applybindingstoode(选项,{attr:{onmouseover:'test()'}},item);
};
self.test=函数(){
log(“鼠标悬停”);
};
};
ko.应用绑定(vm);
jsFiddle:
更新:
刚刚注意到,它在firefox上运行良好,但在chrome和opera 24(webkit?)上运行不好。这与无法在上下文(右键单击)菜单上获得鼠标悬停相同添加fiddle代码