首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止纸对话框自动关闭。

防止纸对话框自动关闭。
EN

Stack Overflow用户
提问于 2014-08-30 23:17:16
回答 2查看 1.6K关注 0票数 2

你好:

我在页面中有一个paper-dialog元素:

代码语言:javascript
复制
<paper-dialog ... id="autom_desc_dialog" autoCloseDisabled> 
    ...
    <paper-button ... id="automatizar" affirmative autofocus disabled></paper-button>
</paper-dialog>

我有一个事件侦听器,它处理paper-button单击:

代码语言:javascript
复制
var auto_btn = querySelector('#automatizar');
auto_btn.on["click"].listen((Event e) {
    // Some AJAX stuff
});

我想要的是,在某些情况下,为了防止对话框关闭,我尝试了event.preventDefault()event.stopImmediatePropagation()event.stopPropagation(),但没有成功。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-09 02:32:57

您不需要删除肯定/否定属性,因为它们用于布局。聚合物对话框文档是错误的(我打开了GH问题),closeSelector的默认值是‘不屑一顾,肯定’而不是“,您只需要将closeSelector设置为"",并且它不会在单击按钮时关闭对话框。

票数 3
EN

Stack Overflow用户

发布于 2014-08-31 11:43:22

您只需要从按钮中删除affirmative属性,就可以完全控制行为。

app-element.dart

代码语言:javascript
复制
import 'package:polymer/polymer.dart';

import 'dart:html';
import 'package:paper_elements/paper_dialog.dart';
/**
 * A Polymer app-element element.
 */
@CustomTag('app-element')

class AppElement extends PolymerElement {

  /// Constructor used to create instance of AppElement.
  AppElement.created() : super.created() {
  }

  void openClickHandler(Event e) {
    print(e);
    ($['autom_desc_dialog'] as PaperDialog).opened = true;
  }

  void closeClickHandler(Event e){
    if(true /* some condition */) {
      ($['autom_desc_dialog'] as PaperDialog).opened = false;
    }
  }

}

app_element.html

代码语言:javascript
复制
<!-- import polymer-element's definition -->
<link rel="import" href="../../packages/polymer/polymer.html">
<link rel="import" href="../../packages/paper_elements/paper_dialog.html">
<link rel="import" href="../../packages/paper_elements/paper_button.html">

<polymer-element name="app-element">
  <template>
    <style>
      :host {
        display: block;
      }
    </style>
    <paper-dialog id="autom_desc_dialog" autoCloseDisabled>
      <div>paper dialog</div>
      <paper-button id="automatizar" autofocus label="close" on-click="{{closeClickHandler}}"></paper-button>
    </paper-dialog>

    <paper-button id="open" autofocus label="open" on-click="{{openClickHandler}}"></paper-button>
  </template>
  <script type="application/dart" src="app_element.dart"></script>
</polymer-element>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25587549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档