GVKun编程网logo

javascript – ExtJS4 LinkButton组件(linkbutton控件)

11

此处将为大家介绍关于javascript–ExtJS4LinkButton组件的详细内容,并且为您解答有关linkbutton控件的相关问题,此外,我们还将为您介绍关于<script>中t

此处将为大家介绍关于javascript – ExtJS4 LinkButton组件的详细内容,并且为您解答有关linkbutton控件的相关问题,此外,我们还将为您介绍关于<script>中text/javascript和application/javascript两个不同属性的区别、ASP.NET LinkButton – 如何隐藏javascript_doPostBack?、ASP.NET:asp:禁用Javascript的LinkButton?、button没写type=button会导致点击时提交_javascript技巧的有用信息。

本文目录一览:

javascript – ExtJS4 LinkButton组件(linkbutton控件)

javascript – ExtJS4 LinkButton组件(linkbutton控件)

我正在尝试在Ext JS 4中创建自己的LinkBut​​ton组件.没什么新鲜的,对吧?

我的代码看起来像这样:

Ext.define(''LinkButton'', {
    extend: ''Ext.Component'',
    xtype: ''linkbutton'',
    autoEl: ''a'',
    renderTpl: ''<a href=\"javascript:;\">{text}</a>'',
    config: {
        text: '''',
        handler: function () { }
    },
    initComponent: function () {
        var me = this;
        me.callParent(arguments);

        this.renderData = {
            text: this.getText()
        };

        var handler = me.getHandler();
        if (handler) {
            me.on(''click'', handler);
        }
    }
});

到现在为止还挺好!我的LinkBut​​ton看起来像一个超链接和我的文本内容.优美.

但是,当我点击它时,我无法让我的组件触发事件!

这个特殊的行me.on(‘click’,handler);不管用!即使我从on更改为addListener它也没有效果.

所以问题是:如何将DOM事件添加到我的组件中?或者,更好的是,如何访问我自己的组件的DOM元素?我无法做到这一点!

谢谢!

解决方法:

这是我的命题,它基于Button组件的源代码:

Ext.define(''LinkButton'', {
    extend: ''Ext.Component'',
    xtype: ''linkbutton'',
    autoEl: ''a'',
    renderTpl: ''<a href=\"javascript:;\" id="{id}-btnEl">{text}</a>'',
    config: {
        text: '''',
        handler: function () { }
    },
    initComponent: function () {
        var me = this;
        me.callParent(arguments);

        this.renderData = {
            text: this.getText()
        };
    },
    onRender: function(ct, position) {
        var me = this, 
            btn;

        me.addChildEls(''btnEl'');

        me.callParent(arguments);

        btn = me.btnEl;

        me.mon(btn, ''click'', me.onClick, me);
    },
    onClick: function(e) {
        var me = this;
        if (me.preventDefault || (me.disabled && me.getHref()) && e) {
            e.preventDefault();
        }
        if (e.button !== 0) {
            return;
        }
        if (!me.disabled) {
            me.fireHandler(e);
        }
    },
    fireHandler: function(e){
        var me = this,
            handler = me.handler;

        me.fireEvent(''click'', me, e);
        if (handler) {
            handler.call(me.scope || me, me, e);
        }
    }
});

工作样本:http://jsfiddle.net/lolo/AEwH4/1/

总结

以上是小编为你收集整理的javascript – ExtJS4 LinkBut​​ton组件全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

原文地址:https://codeday.me/bug/20190902/1790598.html

<script>中text/javascript和application/javascript两个不同属性的区别

<script>中text/javascript和application/javascript两个不同属性的区别

如题。

我最近在做的一个项目里面遇到一个小问题。就是我写在<script>标签中的javascript语句,在chrome,safari,firefox,IE9.10.11上面都可以正常运行,但是到了IE8以下的浏览器就无法运行了。

一开始以为是我的语句里面有一些兼容性问题,于是我又单独写了个例子去运行,同样的javascript代码在各个浏览器中都成功运行,可是到了我的项目中就是运行不了。

偶然之中,我瞥见我的<script>标签是这样子写的:

 

<script type="application/javascript">
//执行语句
</script>

这是书写的时候Dreamweaver自动补全的。
但是在我自己运行的例子中我的script标签写的是:

<script type="text/javascript">
//执行语句
</script>

于是,我将我项目中的标签type属性修改成了text-javascript,然后,然后在IE8一下就可以运行了。
下面补充一下关于这个属性的一些知识:

最实用的用法,现在各大浏览器已经都基本上支持了HTML5,HTML5中我们已经可以直接使用<script></script>而不需要制定script标签的type属性了。

根据内核属性,我们将浏览器分为四类:IE6/7/8/9/10/11,firefox, chrome/safari, opera.

如果需要在script标签中添加type属性,一般type有下面几种:

1.text/javascript:这是目前来说次于<script></script>标签的最合适的type属性

2.application/javascript:这个属性亲测在IE8以下的浏览器中无法被识别。

3.language="javascript":这个标签是W3C的HTML标准,但是目前已经不再推荐使用。

4. text/ecmascript:少用

5. text/jscript:少用

6.text/vbscript:少用

ASP.NET LinkButton – 如何隐藏javascript_doPostBack?

ASP.NET LinkButton – 如何隐藏javascript_doPostBack?

<asp:LinkButton ID="cartLink" runat="server" Text="<b>Add to Cart</b>" 
    ToolTip="Add to cart" CommandName="Add" 
        CommandArgument='<%# Eval("ProductID") %>' />

查看来源:

<a id="ContentPlaceHolder1_productsList_cartLink_0" 
        title="Add to cart" 
        href="javascript:__doPostBack(&#39;ctl00$ContentPlaceHolder1$productsList$ctrl0$cartLink&#39;,&#39;&#39;)">
        <b>Add to Cart</b></a>

当鼠标悬停在LinkBut​​ton上时,我不会丢失显示在浏览器底部的丑陋的“javascript_doPostBack(…)”链接状态消息.

有可能抑制这个吗?

更新05-11-2011:

我意识到这是默认行为,大多数时候我几乎没有注意到它.但是,当状态栏未显示时(默认情况下),这只是IE9中的问题.有人知道一个工作黑客来解决这个问题吗?

解决方法

如果您指的是显示在大多数浏览器窗口左下方的Javascript状态消息,请尝试设置onMouSEOver值.

<asp:LinkButton ID="cartLink" onMouSEOver="JavaScript:window.status='Yo,I'm the Javascript status text!'; return true" onMouSEOut="JavaScript:window.status=''; return true" runat="server" Text="<b>Add to Cart</b>" ToolTip="Add to cart" CommandName="Add" CommandArgument='<%# Eval("JOBProductIDName") %>' />

有关详细信息,请参阅this page.

@H_301_35@

ASP.NET:asp:禁用Javascript的LinkButton?

ASP.NET:asp:禁用Javascript的LinkButton?

我想使用asp:LinkBut​​ton,因为它看起来像一个链接,但也有服务器端点击处理程序.

但是Web服务器似乎无法检测到客户端上是否禁用了javascript,并且没有呈现为仍然有效的机制.

是否有可能有一个看起来像链接,但有服务器端OnClick事件处理程序的链接?

回答

答案是否定的,但下面是一些解决方法的想法.接受了非零向上投票的那个.

解决方法

您可以使用CSS将按钮设置为看起来像链接,但这将取决于CSS实现,这将取决于浏览器.

编辑:我觉得有必要完成我的答案,因为它已被接受.

asp:LinkBut​​ton呈现为HTML链接,因此无法发布到网页;但只能提出请求.要解决此问题,请使用JavaScript来操作帖子.但是,如果禁用Javascript,则无法执行此操作.

asp:Button和asp:ImageButton是不同的.他们通过使用真正的HTML表单元素发布到网页(或取决于表单属性)来提交HTML表单.所以这些都可以在没有JS干预的情

一些浏览器将允许CSS样式将按钮设置为看起来像链接,因此这可以用于解决该问题.

button没写type=button会导致点击时提交_javascript技巧

button没写type=button会导致点击时提交_javascript技巧

有个地方很奇怪:点击了一个弹窗中的按钮,没想到弹窗消失了,经公司的js高手调试,发现了其中的奥秘

复制代码 代码如下:

添加调查问卷

加一个type ="button" 就好了:
复制代码 代码如下:

添加调查问卷

不同的浏览器支持的规则不同

关于javascript – ExtJS4 LinkButton组件linkbutton控件的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于<script>中text/javascript和application/javascript两个不同属性的区别、ASP.NET LinkButton – 如何隐藏javascript_doPostBack?、ASP.NET:asp:禁用Javascript的LinkButton?、button没写type=button会导致点击时提交_javascript技巧等相关内容,可以在本站寻找。

本文标签:

上一篇javascript – EXT JS 5 – 覆盖ViewController定义?(js覆盖方法)

下一篇javascript – Phonegap Sencha Android:带有基本访问身份验证的ajax请求失败