自己的JS 监听器。用于选择文字

  主要代码:

  function AttachEvent(obj, eventName, handler, argsObject) {
            var eventHandler = handler;
            if (argsObject) {
                eventHandler =
               function (e) {
                   handler.call(this, argsObject);
               }
            }
            if (window.attachEvent)//IE
                obj.attachEvent("on" + eventName, eventHandler);
            else//FF
                obj.addEventListener(eventName, eventHandler, false);
        }

用监听器绑定具体的方法与对应的处理函数。 

当然也可以直接用JQuery的绑定。




实例:



<script type="text/javascript">

        var SWord;
        var IDS;
        function onReady() {
            IDS = {
                txtAlarmID: '<%= txtAlarmID.ClientID %>',
                txtLogicType: '<%= txtLogicType.ClientID %>',
                ddlDeviceType: '<%= ddlDeviceType.ClientID %>',
                textSolution: '<%= textSolution.ClientID %>',
                txtLogicType: '<%= txtLogicType.ClientID %>'
            };
            SWord =
            {
                text: '',
                Start: 0,
                End: 0
            };
            var textareaSo = document.getElementById(IDS.textSolution);
            AttachEvent(textareaSo, "click", clickSelectedText, IDS.textSolution);

            var textLogicType = document.getElementById(IDS.txtLogicType);
            AttachEvent(textLogicType, "click", clickSelectedText, IDS.txtLogicType);
        };

        function AttachEvent(obj, eventName, handler, argsObject) {
            var eventHandler = handler;
            if (argsObject) {
                eventHandler =
               function (e) {
                   handler.call(this, argsObject);
               }
            }
            if (window.attachEvent)//IE
                obj.attachEvent("on" + eventName, eventHandler);
            else//FF
                obj.addEventListener(eventName, eventHandler, false);
        }

        function clickSelectedText(Id) {
            var o = document.getElementById(Id);
            if (document.selection) {
                var k = document.selection.createRange().text;
                if (k.lenght > 0)
                {

                
                }

            } else {
                var p1 = o.selectionStart; var p2 = o.selectionEnd;
                if (p1 || p1 == '0') {
                    if (p1 != p2) {//选中
                        SWord.Start = p1;
                        SWord.End = p2;
                        SWord.word = o.value.substring(p1, p2);
                    }
                    else //点击
                    {
                        if (p1 > SWord.Start && p2 < SWord.End) {
                            document.getElementById("Div1").innerHTML = SWord.word;
                        }
                        SWord.Start = 0;
                        SWord.End = 0;
                        SWord.word = '';
                    }
                }
            }
        }
      
本人声明:沐海(http://my.oschina.net/mahaisong) 以上文章是经过本人设计实践和阅读其他文档得出。如果需要探讨或指教可以留言!欢迎交流!

转载于:https://my.oschina.net/mahaisong/blog/145367

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值