标签: onclick

在运行时设置Delphi按钮的OnClick过程

我有一个程序,我需要在其中更新数据库表,并在编辑框中输入信息,最后用一个按钮进行更新.但是,表单是在运行时创建的,包括按钮在内的所有元素也以相同的方式创建.我想办法允许数据库参数定义更新数据库的过程,例如:

procedure UpdateDatabase(Field1,Field2,Field3:string);
begin
//update database here...
end;
Run Code Online (Sandbox Code Playgroud)

然后将我的按钮的OnClick事件分配给此过程,其参数预填充如下:

Button1.OnClick := UpdateDatabase(Edit1.text,Edit2.Text,Edit3.Text);
Run Code Online (Sandbox Code Playgroud)

但是,类型不兼容,因为它需要不同的数据类型.我还注意到参数通常不能传递给OnClick函数.实际上有没有办法实现我提出的建议?

这是我当前的创建按钮代码:

function buttonCreate(onClickEvent: TProcedure; 
  left: integer; top: integer; width: integer; height: integer; 
  anchors: TAnchors; caption: string; parent: TWinControl; form: TForm;): TButton;
var
  theButton: TButton;
begin
  theButton := TButton.Create(form);
  theButton.width := width;
  theButton.height := height;
  theButton.left := left;
  theButton.top := top;
  theButton.parent := parent;
  theButton.anchors := anchors;
  //theButton.OnClick := onClickEvent;
  theButton.Caption := caption;
  result := theButton;
end;
Run Code Online (Sandbox Code Playgroud)

任何和所有帮助表示赞赏!

delphi runtime onclick button

0
推荐指数
1
解决办法
8598
查看次数

单击时,从另一个div添加/删除类

我想在按下链接时从另一个div添加/删除一个类.我搜索了几个答案并在网上搜索但找不到适合我的答案.

这是我的代码:

<nav id="primary-menu"> <a class="menu-toggle">Browse</a>
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">News</a></li>
        <li><a href="#">Rumors</a></li>
        <li><a href="#">Tutorials</a></li>
        <li><a href="#">Miscellaneous</a></li>
    </ul>
</nav> <!-- end #primary-menu -->
Run Code Online (Sandbox Code Playgroud)

我期待添加类active#primary-menu.menu-toggle被点击.

对于JS/jQuery的,我试过click,toggle,toggleClass,我已经试过内联的代码,我试过外部脚本.似乎没有什么工作,我不知道为什么.

我非常感谢你的回复.PS:我不是JS/jQuery的最佳人选.

javascript jquery onclick

0
推荐指数
1
解决办法
3万
查看次数

立即调用Javascript onclick函数(不单击时)?

我试图创建一个看起来和感觉像<a>标签项的链接,但运行一个函数而不是使用href。

当我尝试将onclick函数应用于链接时,无论该链接从未被单击过,它都会立即调用该函数。此后任何尝试单击链接的尝试都会失败。

我究竟做错了什么?

的HTML

<div id="parent">
    <a href="#" id="sendNode">Send</a>
</div>
Run Code Online (Sandbox Code Playgroud)

Java脚本

startFunction();

function secondFunction(){
    window.alert("Already called!?");
}

function startFunction() {
    var sentNode = document.createElement('a');
        sentNode.setAttribute('href', "#");
        sentNode.setAttribute('onclick', secondFunction());
      //sentNode.onclick = secondFunction();
        sentNode.innerHTML = "Sent Items";

    //Add new element to parent
    var parentNode = document.getElementById('parent');
    var childNode = document.getElementById('sendNode');
    parentNode.insertBefore(sentNode, childNode);
}
Run Code Online (Sandbox Code Playgroud)

JsFiddle

如您所见,我尝试了两种添加此onclick函数的不同方法,两种方法都具有相同的效果。

html javascript onclick

0
推荐指数
1
解决办法
5862
查看次数

为什么我不能使用onclick事件执行这个简单的JavaScript函数?

我不是那样的JavaScript,我有以下问题.

进入JSP页面我有以下"链接":

<tr onmouseout="Javascript: this.style.background='#FFFFFF'; 
                            this.style.color='#003399';" 
                            onmouseover="Javascript: this.style.background='#003399'; 
                            this.style.color='#FFFFFF'; this.style.cursor='hand';" 
                            onclick="changeLocationTo('edi.do?serv=4.U');">

    <td style="border-top: 0px;">
        Tabella Anagrafica
    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

因此,当用户单击tr元素时,将执行changeLocationTo() JavaScript函数向其传递String'edi.do?serv=4.U'.

在这个页面中,我已经定义了脚本部分:

<script language="JavaScript" src="js/Script.js">
    function changeLocationTo(newLocation) {

        alert("INTO changeLocationTo, nweLocation: " + newLocation);
        loadingPopUp();

        // you may add an timeout here or to handle a popup action like closing it

        document.location.href = newLocation;
    }
</script>
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我点击前面的tr链接时,它不执行changeLocationTo()函数,每次点击tr时,进入FireBug控制台都显示此错误信息:

ReferenceError: changeLocationTo is not defined
Run Code Online (Sandbox Code Playgroud)

为什么?可能是什么问题呢?我该如何解决这个问题?我错过了什么?

TNX

html javascript xhtml onclick javascript-events

0
推荐指数
1
解决办法
57
查看次数

为什么单击按钮之前运行的jQuery("click","button",...)?

我只是学习jquery,而且我遇到了我不理解的行为.我有:

HTML:

<div id="tour" data-location="london">
    <button>Get Photos</button>
    <ul class="photos"></ul>
</div>
Run Code Online (Sandbox Code Playgroud)

和jquery:

var tour = {
    init: function () {
        $("#tour").on("click", "button", alert("clicked"));
    }
};
$(document).ready(function () {
    alert("hello");
    tour.init();
});
Run Code Online (Sandbox Code Playgroud)

正如我所料,在加载dom之后出现"hello"警报.然而,"点击"警报也会被触发,并且在按下按钮时不会随后触发.

http://jsfiddle.net/abalter/295sgf5c/2/

javascript jquery onclick

0
推荐指数
2
解决办法
390
查看次数

RecyclerView Onclick(调用非静态方法)

我遇到了一个关于将OnItemClickListener设置为我的RecyclerView项目的问题.我尝试按照Android Studio的RecyclerView示例中描述的方式设置监听器.因此,在我的RecyclerView的ViewHolder类中设置了一个监听器.

public class ProgramViewHolder extends RecyclerView.ViewHolder {
    protected TextView vName;
    protected ImageView vProgramImage;

    public ProgramViewHolder(View v) {
        super(v);
        vName = (TextView) v.findViewById(R.id.programName);
        vProgramImage = (ImageView) v.findViewById(R.id.programImage);

        v.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // HERE PROBLEM !! 
                MainActivity.openSettings(1);
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想调用我的MainActivity openSettings(int)的方法来加载片段:

public void openSettings(int layoutId) {
    settingsFragment setFrag = new settingsFragment();

    Bundle information = new Bundle();
    information.putInt("layoutId", layoutId);

    setFrag.setArguments(information);
    getFragmentManager().beginTransaction()
            .replace(R.id.fragmentContainer, setFrag)
            .commit();
}
Run Code Online (Sandbox Code Playgroud)

但现在问题.当我尝试编译时,它说"非静态方法'openSettings(int)'不能从静态上下文中引用." 我完全不明白这个错误.为什么它是一个静态的上下文?ProgramViewHolder类不会声明为static.

最重要的部分:我该如何解决?我想为RecyclerView的每个项目设置一个OnClickListener,并调用MainActivity的公共方法.

非常感谢你,花时间来帮助我.

java static android onclick android-recyclerview

0
推荐指数
1
解决办法
1630
查看次数

如何将类添加到onclick元素之外的元素

我需要一些If声明的帮助.我有这个div

<div id="features-dots">
<ul>
    <a href="#"><li class="one"></li></a>
    <a href="#"><li class="two"></li></a>
    <a href="#"><li class="three"></li></a>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

<div class="feature_thumb">
<a class="feature_thumb" id="one" onclick="return false;"></a>
</div>
<div class="feature_thumb">
<a class="feature_thumb" id="two" onclick="return false;"></a>
</div>
<div class="feature_thumb">
<a class="feature_thumb" id="three" onclick="return false;"></a>
</div>
Run Code Online (Sandbox Code Playgroud)

并且如果点击#one,则想要向li.one添加一个类,如果单击#two则要添加到li.two等等...有人可以帮我这个吗?

javascript jquery if-statement onclick

0
推荐指数
1
解决办法
257
查看次数

为什么我的onClick函数需要两次点击

我从我的一些不同的项目中注意到,每当我点击一些东西时我都会添加一个onClick函数,它总是需要两次点击才能在页面刚刚加载时让它们运行.我用它们的一般结构是:

function PageChange(){

    var welc_p = document.getElementById("welcome");/**gathers page DIVs**/
    var page01 = document.getElementById("page01");
    var page02 = document.getElementById("page02");

    var start = document.getElementById("start_btn");/**gathers buttons**/
    var p1_back = document.getElementById("p1_back");
    var p1_next = document.getElementById("p1_back");

    var p2_back = document.getElementById("p2_back");
    var p2_next = document.getElementById("p2_back");

    start.onclick=function(){
        page01.style.display="block";
        welc_p.style.display="none";
        window.location="#page01";
        };

    }/**function**/
Run Code Online (Sandbox Code Playgroud)

然后我在html中调用它的方式是

<div class="some_class" id="start_btn" onClick="PageChange()">!!!LETS GET STARTED!!!</div>
Run Code Online (Sandbox Code Playgroud)

这也是一个小提琴. https://jsfiddle.net/Optiq/42e3juta/

这通常是我每次想要创建此功能时的结构.我在这里看到了很多其他关于他们的项目的帖子,他们点击2次点击激活,但他们都没有做任何接近我想要完成的事情,看起来他们的问题在他们的编码中.有人知道为什么会这样吗?

javascript onclick css3

0
推荐指数
1
解决办法
1287
查看次数

一次切换多个Checkbox

我有这些复选框:

'<input type="checkbox" name="checkBox1" value="checked" class= "toggleable">'; 
'<input type="checkbox" name="checkBox2" value="checked" class= "toggleable">'; 
'<input type="checkbox" name="checkBox3" value="checked" class= "toggleable">'; 
Run Code Online (Sandbox Code Playgroud)

我可以通过叮叮当当来检查或取消选中.
现在我正在尝试添加一个复选框,单击时将立即选中或取消选中所有以前的复选框.

'<input type="checkbox" name="check_uncheck_all" value="false" id="id_check_uncheck_all">'
Run Code Online (Sandbox Code Playgroud)

单击复选框以立即选中或取消选中所有复选框"toggleable"时要执行的JS代码是什么?

html javascript checkbox onclick

0
推荐指数
1
解决办法
1173
查看次数

元素innerHTML摆脱了事件监听器

我有一个向页面添加按钮的功能.

var count = 0;

function createOnclickFunction(number)
{
    return function()
    {
        alert("This is button number " + number);
    }
}

function addButton(data)
{
    var newbutton = "..." //creates string from data

    var element = document.getElementById("mydiv");
    var children = element.children;

    element.innerHTML = newbutton + element.innerHTML;

    var currentCount = count;
    children[0].onclick = createOnclickFunction(currentCount)

    count++;
}
Run Code Online (Sandbox Code Playgroud)

它基本上根据一些数据在html中创建一个按钮.

每次我添加一个按钮,我希望它被添加到div的开头#mydiv,并且由于newbutton也不是Element,但是a String,我必须修改innerHtml以将其添加到开头#mydiv.

之后,我必须通过获取第一个孩子来获取元素(添加onclick)#mydiv.

但是,在我的页面添加第二个按钮后,第一个按钮onclick不再有效.

如果我修改我的代码只添加一个按钮,一切正常.

现在,只需单击顶部按钮(最新添加的按钮)即可.

我怎样才能解决这个问题?

我也试过用element.firstChild而不是element.children[0].

在此先感谢大家!

编辑:

这是一个jsfiddle :(你可以看到唯一有效的按钮是stackoverflow …

html javascript onclick nodelist

0
推荐指数
1
解决办法
1551
查看次数