http://blog.csdn.net/yeeonefx/article/details/8557600

unigui结合JS方法记录

在js中界面上所有组件都当成html里来控制

1、控制按钮事件

 document.getElementById(MainForm.UniButton4.getId()).click();

这个方法让JS与UNI交互提供太大的帮助了

js code如下

document.getElementById(MainForm.UniButton4.getId()).click(); //模拟按钮事件

extjs code如下

MainForm.UniButton4.fireEvent("click", MainForm.UniButton4); //模拟按钮事件

 

在delphi里

UniSession.AddJS('MainForm.UniButton4.fireEvent("click", MainForm.UniButton4);');

 

2、给edit赋值

MainForm.opction_edit.setValue("1");

3.客户端摄像头调用

http://www.oschina.net/p/flash-avatar-upload 

4.编码问题

编码的问题,以前我碰到过类似的就这么解决的,任何工具都可以,但只要能改变编码就行\

5.JS用多以后会出现些异常情况,引用没效,于是在主界面加一个UniHTMLFrame,将<script type="text/javascript" src="Dialog.js"></script>放入HTML中解决问题。

6.  str:='function zOpenD(){'+
 ' var diag = new Dialog("Diag1");'+
 ' diag.Width = '+width+';'+
 ' diag.Height = '+height+'; '+
 ' diag.ShowButtonRow=false;'+
 ' diag.Title =  "'+title+'"; ' + urlhtml+
 ' diag.ShowMessageRow = '+ShowMessageRow+';'+
' diag.MessageTitle = "'+MessageTitle+'";'+
' diag.Message = "'+sm+'";'+
' diag.OKEvent = function(){};//点击确定后调用的方法  '+
' diag.show();}  '+
' zOpenD();';
  UniSession.AddJS(str);

这样会出错,不要把注释放到里头

7.jquery.min.js与其他js脚本的冲突

 

那是因为你的JS代码有 $ 符号,跟JQ冲突。解决办法可以在JQ代码前加入
var jq=jQuery.noConflict(); 然后将JQ代码中的$都换成jq就行。如例:

<script type="text/javascript">
var jq=jQuery.noConflict(); 
jq(function(){alert ("That's Good");})
</script>

 

版权声明:本文为博主原创文章,未经博主允许不得转载。