【问题标题】:How to open dynamically formed hyperlink as Popup如何将动态形成的超链接作为弹出窗口打开
【发布时间】:2015-10-04 12:59:24
【问题描述】:

我正在使用敲除形成超链接。现在我必须将链接作为弹出窗口打开。 请在下面找到代码sn-p

 <a data-bind="attr: { href:'/Home/TechnicianData?logId=' + $data.LoginId}">
                                More tests...
                            </a>

【问题讨论】:

  • 为什么不能简单地将target="_blank" 添加到元素中?
  • 当你说弹出时,你是指一个新的浏览器窗口,还是某种模式对话框?
  • 我想使用 window.open 以 popu 形式打开页面

标签: knockout.js


【解决方案1】:

不是一个真正的淘汰赛问题,这是一个 HTML 问题,你只是碰巧在使用淘汰赛 ;)

<a target="_blank" data-bind="attr: { href:'/Home/TechnicianData?logId=' + $data.LoginId}">
   More tests...
</a>

【讨论】:

  • 我想在弹出窗口中打开它,而不是在新标签中
  • 这将导致 html 验证错误:“属性仅在存在 'href' 的情况下才允许”,因为链接是动态形成的。
  • @Viqas 你可以通过给它一个将被覆盖的 href 属性来解决这个问题。不过,现代浏览器并不是真正的问题。
【解决方案2】:

在这种情况下,我相信最简单的方法是将“点击”事件绑定到一个函数。像这样

<a href="javascript:void(0);" data-bind="click: $root.myFunction">Link Content</a> 

JS

function YourViewModel() {
   var self = this;
   //...
   self.myFunction = function (data) {
       window.open('/Home/TechnicianData?logId=' + data.LoginId);
   };
};

【讨论】:

    猜你喜欢
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多