为什么这不起作用:
inputButton.addEventListener('onchange', jsFunction, false);
Run Code Online (Sandbox Code Playgroud)
我更改了输入框,但它没有调用jsFunction.
有谁知道这方面的任何变通办法?我正在尝试使用select元素进行导航.它看起来像这样;
<select onchange="window.location=(this.options[this.selectedIndex].value)">
Run Code Online (Sandbox Code Playgroud)
它适用于所有桌面浏览器,也适用于我的WP7手机.它在我的iPhone(iOS 5.0)上不起作用.
我注意到Chrome和Firefox中"点击"和"更改"事件的顺序不同.
请参阅此JSFiddle例如:http://jsfiddle.net/5jz2g/3/
JavaScript的:
var el = $('foo');
var fn = function(e) {
console.log(e.type);
}
el.addEvent('change', fn);
el.addEvent('click', fn);
Run Code Online (Sandbox Code Playgroud)
在Chrome中,这会记录:
change
click
Run Code Online (Sandbox Code Playgroud)
在Firefox中,这会记录:
click
change
Run Code Online (Sandbox Code Playgroud)
事件顺序是否有标准?哪个先开火?MDN似乎没有提到这一点,我在W3C文档中找不到相关内容.
如何在此处添加onchange事件?
框架:rails
数据库:MySQL
我正在填充数据库中的选项,这使我使用 options_from_collection_for_select
select_tag(:variable,options_from_collection_for_select(:all, :id, :name))
Run Code Online (Sandbox Code Playgroud) 我有一个选择框的代码,由Chosen jQuery插件显示.我想要实现的是从已选择的当前项获取值:
<div>
<select id="schedule_event" name="schedule[event]" style="display: none; " class="chzn-done"><option value="Game" selected="selected">Game</option>
<option value="Event">Event</option>
<option value="Training">Training</option>
</select>
<div id="schedule_event_chzn" class="chzn-container chzn-container-single chzn-container-active" style="width: 854px; ">
<a href="javascript:void(0)" class="chzn-single chzn-single-with-drop" tabindex="-1">
<span>Game</span>
<div></div>
</a>
<div class="chzn-drop" style="width: 849px; top: 27px; left: 0px; ">
<div class="chzn-search">
<input type="text" autocomplete="off" style="width: 814px; " tabindex="0">
</div>
<ul class="chzn-results">
<li id="schedule_event_chzn_o_0" class="active-result result-selected highlighted" style="">Game</li>
<li id="schedule_event_chzn_o_1" class="active-result" style="">Event</li>
<li id="schedule_event_chzn_o_2" class="active-result" style="">Training</li>
</ul>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我现在用来查找当前值的JavaScript是:
$("#schedule_event").chosen().change( function() {
alert(+ $(this).text());
$('#' + …Run Code Online (Sandbox Code Playgroud) 我正在尝试一个大型的 React 表单,但是表单中的每个输入都很复杂并且具有复杂的状态。我保持parent组件中所有输入的状态,并且每个输入都包装在一个child组件中。我在 parent 中有一个 state 数组,它包含所有输入元素的当前状态值。目前,每次onChange输入中有一个,我都会尝试通过setState(). 最多可以有 5 个输入,但是一旦我超过这个(比如一百个输入),我开始注意到程序中的一些严重滞后。请注意:该程序还允许您重新排列delete、 和add输入,因此状态需要适应这些更改IE。第一个输入可以与第二个输入交换位置或在第 10 个输入之后插入。
我的目标是找到一种方法来优化这个 onChange 的性能。最终,我真的不需要parent组件中的数据,我只需要在单击save页面底部时收集输入的值。
重申一下,我有两个组成部分。
父组件
子组件
Child 组件基本上是一个 input用户可以编写数百行文本的地方。
Parent 组件包含 100 个子组件,基本上如下所示:
export default function Parent(props) {
const [state, setState] = useState(createDummyData());
useEffect(() => {});
const onInputChange = (value, index) => {
var tempValue = [...state];
tempValue[index] = value;
setState(tempValue);
};
return (
<>
<div …Run Code Online (Sandbox Code Playgroud) 我想知道如何以编程方式使用YUI3触发更改事件 - 我向一个选择框节点添加了一个更改侦听器:
Y.get('#mynode').on('change', function(e) {
Alert(“changed me”);
});
Run Code Online (Sandbox Code Playgroud)
脚本中的其他地方想要触发该事件.当然,当用户更改浏览器中的选择框值时,它可以工作.但我已经尝试了很多方法来以编程方式启动它,但没有一种方法可行.包含:
// All below give this error: T[X] is not a function (referring to what's called in .invoke(), // in the minified javascript
Y.get('#mynode').invoke('onchange');
Y.get('#mynode').invoke('change');
Y.get('#mynode').invoke('on','change');
Y.get('#mynode').invoke("on('change')");
/* Tried using .fire() which I found here:
* http://developer.yahoo.com/yui/3/api/EventTarget.html#method_fire
* Nothing happens
*/
Y.get('#mynode').fire('change');
/* Looking around the APIs some more, I found node-event-simulate.js:
* http://developer.yahoo.com/yui/3/api/node-event-simulate.js.html,
* which by its name would seem to have what I want. I tried:
* Error: simulate(): …Run Code Online (Sandbox Code Playgroud) 当用户在Wicket文本字段中输入数字时,我需要捕获在AJAX onchange事件中输入的值.我怎样才能做到这一点?
仅当USER输入某个值时才会触发"onchange"事件.当我通过Javascript自动更改值时,为什么无法触发事件?还有其他选择吗?
动画:

码:
<!DOCTYPE html>
<html>
<head>
<script>
document.addEventListener ("DOMContentLoaded", function () {
var input = this.getElementsByTagName ("input")[0];
var div = this.getElementsByTagName ("div")[0];
var i = 0;
var seconds = 5;
div.innerHTML = "The following input should fire the event in " + seconds + " seconds";
var interval = window.setInterval (function () {
i ++;
if (i === seconds) {
window.clearInterval (interval);
input.value = "Another example";
div.innerHTML = "Nothing ! Now try change the value manually";
}
else { …Run Code Online (Sandbox Code Playgroud) 我有一个jQuery的Select2的问题.
当页面加载时,如果O点击搜索结果,它将选择并触发事件onchange,但只是第一次.
如果我再搜索一次,它就不会.
这是我的代码(这是一个基于Ajax的搜索):
jQuery('#search_code').select2({
'width': '600px',
'tokenSeparators': [',', ' '],
'closeOnSelect': false,
'placeholder': 'scan or type a SKU or product or ESN',
'minimumInputLength': 1,
'ajax': {
'url': 'lookProduct',
'dataType': 'json',
'type': 'POST',
'data': function (term, page) {
return {
barcode: term,
page_limit: 3,
page: page
};
},
'results': function (data, page) {
return {
results: data
};
}
}
}).on('change', function (e) {
var str = $("#s2id_search_code .select2-choice span").text();
DOSelectAjaxProd(this.value, str);
//this.value
}).on('select', function (e) {
console.log("select");
});
Run Code Online (Sandbox Code Playgroud)