繁体   English   中英

淘汰赛-如何获取按钮的Text值?

[英]knockout - how to get a button's Text value?

我正在查看是否可以避免编写单独的函数来处理单独的按钮单击。 如果可以读取单击的按钮的Text值,则可以使用一个名为“ showName”的函数,并使用switch语句来处理每个按钮的单击。

这可能吗?

<body>
    <button data-bind="click: showName">Show Name</button>
    <button data-bind="click: showName">Show Lists</button>
</body>

我在下面尝试了各种方法。 如果要单击第一个按钮,我想获取值“显示名称”。 但是这些都不起作用。

function TutorialsViewModel(){
    this.showName = function(e){           
        console.log(e);
        console.log(e.target);
        console.log(e.target.value);
    };   
}

ko.applyBindings(new TutorialsViewModel());

代替使用e.target.value您需要使用e.target.innerText

这是一个工作示例http : //jsfiddle.net/e8JPT/315/

HTML

<body>
    <button id="btn1" data-bind="click: log">Show Name</button>
    <button id="btn2" data-bind="click: log">Show Lists</button>
</body>

Java脚本

var TutorialsViewModel=function(){
    this.log = function(data, event){           

        alert("You clicked on : " +event.target.innerText);
    };   
}

ko.applyBindings(new TutorialsViewModel());

希望这可以帮助!

以stackoverflow为例,可以使用函数getElementsByName getElementsByClassNamegetElementsById从页面检索任何元素,并可以访问其所有属性。 namevalueinnerHTML等...

来自任何浏览器控制台的StackOverflow示例(打开的F12):

var button = document.getElementById("submit-button"); 
//this only works if the button has id="submit-button"
button.value;
// output : "Text in button"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM