Javascript: заменить событие onChange на строку - PullRequest
0 голосов
/ 13 октября 2011

В настоящее время я работаю в рамках sharepoint 2007 и у меня есть код, который превращает выпадающий список в выпадающий список. То, что у меня есть, работает отлично, однако этот код предназначен для использования бизнес-аналитиками и создателями контента, поэтому он должен быть максимально простым. Поэтому я уплотняю его в функцию, и все прошло гладко, кроме события onChange.

Мне удалось извлечь исходное событие onChange, хотя из-за моего выпадающего списка мне нужно заменить параметр. Поэтому я конвертирую его в строку, заменяю параметр и мне нужно преобразовать его в функцию а-ля:

var onChangeFunction = "function (){alert("your function has been called")}"    

//The function 'attachEvent' is not common javascript. It is a custom function
//that works for my combobox.
combobox.attachEvent("onChange",(function)onChangeFunction);

Это вообще возможно?

1 Ответ

1 голос
/ 13 октября 2011

Вы можете использовать new Function, но я думаю, что вы находитесь на скользком склоне, играя с этим.

var fn = new Function("{alert(\"your function has been called\")}")
combobox.attachEvent("onChange",fn);
...