我有一个 silverlight 用户控件,其中有一个文本框和一个按钮。此 silverlight 页面中可以有多个这些用户控件。
单击按钮时,我想启动一个调用 jquery 弹出窗口的 javascript 函数,以通过 iframe 在同一应用程序中打开另一个页面。在该页面中,用户进行搜索,数据需要一直传递到 silverlight 用户控件,并且文本框需要填充。
在 silverlight 中使用 HtmlPage Invoke 方法我可以调用 javascript 函数。在这个 javascript 中,我也可以调用 jquery 移动弹出窗口。但是,我无法从该功能返回搜索词。下面的函数立即返回空字符串。我使用了 setTimeout 和 defer 方法,但仍然没有成功。在弹出窗口中,当用户完成单词搜索并关闭窗口时,该弹出函数调用名为 setSearchWord() 的父函数。此功能在此页面中,用于设置 searchWord 变量。
var searchWord = '';
function calljquerymobilePopUp(){
$("$popupWin").popup('open');
//what should I do here such that I can make sure 'searchWord'
//variable is not empty and return it to silverlight user control.
return searchWord;
}
function setSearchWord(val){
searchWord = val;
// I always get this value but its always too late.
// In silverlight user control, I end up getting empty string
console.log(searchWord);
$("$popupWin").popup('close');
}