设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 1502|回复: 0

js在ie下打开对话窗口的方法小结

[复制链接]

签到天数: 36 天

[LV.5]常住居民I

发表于 2016/11/9 14:44 | 显示全部楼层 |阅读模式 |Google Chrome 45.0.2454.101|Windows 7
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
  对话框的性质分为模态对话框和非模态对话框:

  1.模态对话框:

  打开该对话框之后,在该对话框之外的一切操作都是被禁止的,要想进行其他操作,必须先关闭本对话框。

  js命令:

  showModalDialog();

  2.非模态对话框:

  和模态对话框相反,打开之后,仍可以进行对话框之外的操作。

  js命令:

  showModelessDialog();

  在我开始着手ngModel的领域时候,有一个问题很令我纠结,那就是$render()到底是做什么的呢?查了很多资料都只是简单的描述一下,这就令我很纠结了,终于在一个阳光明媚的晚上,我终于解决了这个大问题

  那么这个$render方法到底是干什么的呢?他的用处就是在$viewValue改变的时候可以重新绑定model数据,但是我们要注意一点($viewValue和DOM节点的value是不同的),我觉得他们的区别有点类似setTimeout和$timeout的区别,但是又不太一样。ps:其实modelValue和绑定的数据也可以不同

  ?

  1

  2

  Input里面模型的值:{{vm.modelTest}}

  <input type="text" ng-model="vm.modelTest" model-render>

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  20

  .directive('modelRender', function () {

  return {

  require: 'ngModel',

  link: function (scope, iElm, iAttrs, ngModelCtrl) {

  iElm.on('mouseenter', function () {

  //尝试注释

  iElm.val(1);

  console.log(ngModelCtrl);

  //尝试注释

  ngModelCtrl.$setViewValue(11);

  console.log(ngModelCtrl);

  //尝试注释

  ngModelCtrl.$render();

  console.log(ngModelCtrl);

  })

  }

  }

  })

  我们分几种情况分析

  这是鼠标没有经过指令的时候的样子

  1.当我们使用js原生方法设置input的val值的时候,并且不执行$render函数,我们可以看到input里面的model值是没有变化的,但是input的的value是变成了1,而且我们看到不仅model值没有变化,ngModel的$viewValue和$modelValue同样也没有变化。我们可以得出结论 (input的value值不一定等于$viewValue)www.9ask.cn/shangqiu/
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/11/26 19:31 , Processed in 0.120532 second(s), 21 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表